Convert multiple columns to dates with lubridate a

2020-04-10 09:57发布

I'm looking for a straightforward way to convert all of the variables in a data frame which begin with 'date' to dates using lubridate::dmy() (they are currently characters with the dmy format).

I had thought there would be done with mutate_if or mutate_each in dplyr but I am struggling to figure out how.

1条回答
家丑人穷心不美
2楼-- · 2020-04-10 10:47

You can use mutate_at()

library(dplyr)
library(lubridate)

df <- mutate_at(df, vars(starts_with("date")), funs(dmy))

or use mutate_if to mutate all date columns to dmy. Using is.Date from lubridate.

df  <- mutate_if(df, is.Date, funs(dmy))
查看更多
登录 后发表回答