如何将R列中的因子列转换为日期

时间:2018-10-01 21:39:34

标签: r date dataframe type-conversion r-factor

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

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

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

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

3 个答案:

答案 0 :(得分:1)

as.Date('02-JAN-18', format = '%d-%B-%y')

[1] "2018-01-02"

答案 1 :(得分:1)

或使用lubridate

children

这会将拥有d(ays)m(onth)y(ear)中的日期的字符转换为Date格式。

答案 2 :(得分:1)

我用您提到的日期格式创建了向量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创建