【发布时间】:2021-08-10 09:20:13
【问题描述】:
我有一个包含 100 多列的大数据表,我想更改选定列中的值。我想按列名选择列。
df <- data.frame(
xy_Date = c("2018-12-03","2019-01-02","2019-02-03"),
ab_Date = c("2018-05-03","2019-10-02","2019-12-03"),
names = c("Kevin", "Mark", "Jon"))
我想将 xy_Date 和 ab_Date 列从字符类型更改为日期。
library(dplyr)
df %>% mutate(across(grep("Date", names(df)), ~ as.Date(as.character(.x), "%Y-%m-%d ")))
但是有没有基于 R 的解决方案?
【问题讨论】:
-
虽然您的
dplyr代码有效,但在dplyr中有starts_with/contains等功能可以选择列。在这里你可以通过df %>% mutate(across(contains('Date'), as.Date))得到相同的输出。
标签: r dplyr multiple-columns