【问题标题】:Convert multiple date format factor to date type in R将多个日期格式因子转换为 R 中的日期类型
【发布时间】:2019-02-04 16:17:35
【问题描述】:

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

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

请求您的帮助。

问候, 阿拉文丹S

【问题讨论】:

标签: r


【解决方案1】:

使用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"

【讨论】:

    【解决方案2】:

    可以使用 as.date 函数:

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

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

    【讨论】:

    • 在你的情况下,如果你只有几个月和几年:yourvariable
    猜你喜欢
    • 2020-04-30
    • 2021-09-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多