【问题标题】:Dates in different formats into R [duplicate]将不同格式的日期转换为 R [重复]
【发布时间】:2020-11-17 05:19:52
【问题描述】:

我有大量带有日期的 .xls 文件,我正在读入 R。我遇到的问题是每个人都以不同的方式填写“日期”列。因此,我有这样的事情:

date <- c(1995, 1995-05-03, 03-05-1995, 1995/5)

我一直在尝试找到解决此问题的方法:

  1. 通过使用as.Date()
  2. 通过使用convertToDate()

但这当然会产生多个NAs。

有没有办法解决这个问题?

【问题讨论】:

    标签: r date tidyverse


    【解决方案1】:

    您可以尝试anytime 包,假设您可以在数据中添加引号:

    library(anytime)
    date <- anydate(date)
    head(date)
    #> [1] "1995-01-01" "1995-05-03" "1995-03-05" "1995-05-01"
    

    由 reprex 包于 2020-07-27 创建 (v0.3.0)

    【讨论】:

      【解决方案2】:

      您可以尝试lubridate::parse_date_time(),它允许您指定数据中可能出现的多种日期和时间格式(并且您不需要保持格式的顺序):

      date <- c("1995", "1995-05-03", "03-05-1995", "1995/5", "1996.12.01", "1.3.1993")
      
      lubridate::parse_date_time(date, order = c("Y", "Ymd", "dmY", "Y/m"))
      #> [1] "1995-01-01 UTC" "1995-05-03 UTC" "1995-05-03 UTC" "1995-05-01 UTC"
      #> [5] "1996-12-01 UTC" "1993-03-01 UTC"
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-04-07
        • 2021-08-21
        相关资源
        最近更新 更多