R:将数据框数据类型中的多个 select 列更改为日期格式

R: change multiple select columns in a dataframe data type to date format

我希望将数据框中的多个特定列数据类型更改为 POSIXct 格式。我已经能够单独完成此操作 - 见下文。

他们的功能是通过仅列出感兴趣的列而不是重复代码行来重复此操作吗?当我尝试过 lubridate 和 POSIXct 时,它限制我一次只能命名一个列。

感谢您的指点/方向。非常感谢


study_ID <- c(5,6,7)
randomisation <- (c("2021-01-01 11:00", "2021-01-02 10:00", "2021-01-03 10:00"))
water_on <- (c("2021-01-01 13:00", "2021-01-02 09:00","2021-01-04 09:45"))
water_off <- (c("2021-01-01 18:00", "2021-01-02 18:00","2021-01-04 11:00"))
trial_A <- data.frame(study_ID, randomisation, water_on, water_off)
View(trial_A)

trial_A$randomisation <-as.POSIXct(trial_A$randomisation, format= "%Y-%m-%d %H:%M:%S")
tibble(trial_A)

trial_A_1 <- trial_A %>% mutate(water_on = ymd_hm(water_on))
tibble(trial_A_1)

您可以使用 dplyr 包同时更改多个列。

在你的情况下你会使用像

这样的东西
library(dplyr)

trial_A_1 >%>
  mutate(across(c(randomization, water_on, water_off), ymd_hm))

across 有两个组成部分。 第一个组件指定相关列。第二个组件包含您要应用的功能。

对于这两个组件,您可以使用各种快捷方式。 可以在 help page.

中找到更多详细信息