使用`mutate_at()`和`as.Date()`

时间:2018-05-25 01:08:51

标签: r dplyr

我尝试使用mutate_at()中的dplyr来使用Date将类似日期的列强制转换为as.Date()类型的列,但是我是' m得到一个错误。这是代码:

library(dplyr)

df = data.frame(date_1 = "7/5/2014", date_2 = "7/22/2011")
df %>%
    mutate_at(.vars = c("date_1", "date_2"), .funs = as.Date("%m/%d/%Y"))

这给了我一个错误:Error in charToDate(x): character string is not in a standard unambiguous format

不确定这里发生了什么,所以我很感激你的帮助。我更喜欢dplyr解决方案,但如果有更好的方法,我也可以这样做。

1 个答案:

答案 0 :(得分:4)

我个人更喜欢使用语法: 这里的.指的是需要传递给as.Date函数的列。

library(dplyr)
df = data.frame(date_1 = "7/5/2014", date_2 = "7/22/2011")
df %>%
  mutate_at(vars(date_1, date_2), funs(as.Date(., "%m/%d/%Y")))