将多个日期格式因子转换为R中的日期类型

时间:2019-02-04 16:17:36

标签: r

我在数据框中有一个变量,其中包含日期(月-年)的不同格式。例如。 1987年3月98日至1月62日。

此时变量类型为FACTOR。在将此变量类型转换为Date或POSIXct时,我需要帮助。我从lubridate包中尝试了函数parse_date_time,它的作用不大,但Jan-62年被定为01/01/2062,而应该是01/01/1962。我尝试了函数cutoff_2000,但没有得到想要的输出。

请求帮助。

关于, 阿拉文丹(Aravindan S)

2 个答案:

答案 0 :(得分:0)

您可以将函数as.date用作:

yourvariable<- as.Date(yourvariable, "%m/%d/%Y") 

(m是月) (d是天) (y是年份)

答案 1 :(得分:0)

使用parse_date_time,然后从具有2019年之后的年份的组件中减去100年:

x <- factor( c("Jan-62", "98-Apr", "March-1987") )  # input

p <- parse_date_time(x, c("my", "ym", "mY"))
year(p) <- year(p) - 100 * (year(p) > 2019)
p
## [1] "1962-01-01 UTC" "1998-04-01 UTC" "1987-03-01 UTC"