如何将因子列转换为r中数据框中的日期

how to convert factor column into date in data frame in r

我在 r 中有一个具有以下结构的数据框:

TERMINAL_ID ACTION_DATE ACC_AMOUNT
1009162   02-JAN-18      14.30
1009162   02-JAN-18      21.45

和 'action_date' 的 class 是因素,我想将其转换为日期。 我试过这段代码但没有成功

dataf <- as.Date(as.character(data$ACTION_DATE),
                                format = "%d-%y-%Y")
fdate=as.POSIXlt(data$ACTION_DATE, "%d-%b-%y")
as.Date('02-JAN-18', format = '%d-%B-%y')

[1] "2018-01-02"

或使用 lubridate

library(lubridate)
dmy("02-Jan-17")

这会将您的角色以 d(ays)m(onth)y(ear) 格式保存日期。

我已经用您提到的日期格式创建了矢量 x。使用 lubridate 包,解决方案非常简单。

x<- as.factor(c("02-JAN-18", "03-JAN-19", NA, "abc"))
lubridate::dmy(x)
#> Warning: 1 failed to parse.
#> [1] "2018-01-02" "2019-01-03" NA           NA

reprex package (v0.2.1)

创建于 2018-10-01