将 lubridate::ymd() 应用于名称中包含 "date" 的所有列
Apply lubridate::ymd() to all columns with "date" in name
我正在导入多个 csv 文件,并且在导入时想要将 lubridate::ymd() 应用于名称中包含“日期”的所有列。我收到以下错误。感谢您的帮助。
client <- read.csv("client.csv") %>%
mutate(across(str_detect(., "date")), ymd())
我收到以下错误:
错误:mutate()
输入 ..1
有问题。
我..1 = across(str_detect(., "date"))
。
x 必须使用有效的下标向量对列进行子集化。
x 下标类型错误 logical
。
i 它必须是数字或字符。
运行 rlang::last_error()
看看哪里出错了。
另外: 警告信息:
mutate()
输入 ..1
有问题。
我..1 = across(str_detect(., "date"))
。
i 参数不是原子向量;胁迫
对 across
中的 select 列使用 tidyselect 函数。要应用其中包含特定单词的函数,您可以使用 contains
或 matches
.
library(dplyr)
library(lubridate)
client <- read.csv("client.csv") %>% mutate(across(contains('date'), ymd))
#Using matches
#client <- read.csv("client.csv") %>% mutate(across(matches('date'), ymd))
如果我们想调用该函数,请使用 lambda 函数 (~
),它在指定不同的参数方面也会提供更多的控制和灵活性
library(dplyr)
library(lubridate)
client <- read.csv("client.csv") %>%
mutate(across(contains("date"), ~ ymd(.)))
我正在导入多个 csv 文件,并且在导入时想要将 lubridate::ymd() 应用于名称中包含“日期”的所有列。我收到以下错误。感谢您的帮助。
client <- read.csv("client.csv") %>%
mutate(across(str_detect(., "date")), ymd())
我收到以下错误:
错误:mutate()
输入 ..1
有问题。
我..1 = across(str_detect(., "date"))
。
x 必须使用有效的下标向量对列进行子集化。
x 下标类型错误 logical
。
i 它必须是数字或字符。
运行 rlang::last_error()
看看哪里出错了。
另外: 警告信息:
mutate()
输入 ..1
有问题。
我..1 = across(str_detect(., "date"))
。
i 参数不是原子向量;胁迫
对 across
中的 select 列使用 tidyselect 函数。要应用其中包含特定单词的函数,您可以使用 contains
或 matches
.
library(dplyr)
library(lubridate)
client <- read.csv("client.csv") %>% mutate(across(contains('date'), ymd))
#Using matches
#client <- read.csv("client.csv") %>% mutate(across(matches('date'), ymd))
如果我们想调用该函数,请使用 lambda 函数 (~
),它在指定不同的参数方面也会提供更多的控制和灵活性
library(dplyr)
library(lubridate)
client <- read.csv("client.csv") %>%
mutate(across(contains("date"), ~ ymd(.)))