【问题标题】:How to elegantly convert a long string of dates into dym format?如何优雅地将一长串日期转换为 dym 格式?
【发布时间】:2020-12-15 20:14:00
【问题描述】:

我有一列日期(列类型为“字符”),如下所示:

X1Wk.End.2019.Jan.06
X1Wk.End.2019.Jan.13
X1Wk.End.2019.Jan.20
X1Wk.End.2019.Jan.27
...

有没有一种优雅的方法可以将这些日期转换为格式 YYYY-MM-DD 作为“日期”类型?

非常感谢!

【问题讨论】:

    标签: r date


    【解决方案1】:

    我们可以删除前缀直到“结束”。它应该适用于ymd

    library(lubridate)
    library(stringr)
    df1$date <- ymd(str_remove(df1$date, ".*End\\."))
    df1$date
    #[1] "2019-01-06" "2019-01-13" "2019-01-20" "2019-01-27"
    

    或使用as.Date 来自base R

    as.Date(df1$date, format = "X1Wk.End.%Y.%b.%d")
    #[1] "2019-01-06" "2019-01-13" "2019-01-20" "2019-01-27"
    

    数据

    df1 <- structure(list(date = c("X1Wk.End.2019.Jan.06", "X1Wk.End.2019.Jan.13", 
    "X1Wk.End.2019.Jan.20", "X1Wk.End.2019.Jan.27")), class = "data.frame", 
    row.names = c(NA, 
    -4L))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-05-21
      • 2022-01-25
      • 2015-07-13
      • 2014-02-25
      • 1970-01-01
      • 2013-12-28
      相关资源
      最近更新 更多