使用lubridate和dplyr将多列转换为日期

Ste*_*eno 3 r date lubridate dplyr

我正在寻找一种简单的方法将数据框中的所有变量(以'date'开头)转换为日期lubridate::dmy()(它们当前是dmy格式的字符).

我原本以为会有mutate_if或mutate_each,dplyr但我正在努力弄清楚如何.

Jak*_*upp 12

您可以使用 mutate_at()

library(dplyr)
library(lubridate)

df <- mutate_at(df, vars(starts_with("date")), funs(dmy))
Run Code Online (Sandbox Code Playgroud)

或者用于mutate_if将所有日期列变更为dmy.使用is.Date 来自lubridate.

df  <- mutate_if(df, is.Date, funs(dmy))
Run Code Online (Sandbox Code Playgroud)