【问题标题】:How to read multiple date formats in a column?如何在一列中读取多种日期格式?
【发布时间】:2021-12-28 12:38:20
【问题描述】:

我有一个小问题。 我的日期包含 2 种不同的格式:

  1. 月/日/年
  2. m.d.y

现在我想将整个数据集转换为 m/d/y 我尝试使用:

df$YEAR <- as.Date(df$YEAR, format = "%m/%d/%Y")

但现在我遇到的问题是所有 m.d.y 日期类型现在都被视为“NA”值。 出现的另一个问题是日期现在以年份开头,尽管我希望它出现在末尾。

NA NA "2003-01-01"

我该怎么办?

【问题讨论】:

    标签: r date


    【解决方案1】:

    我喜欢 tidyverse 中的 lubridate 库。您可以先使用 lubridate 将所有日期转换为一种格式,然后根据需要重新设置它们的格式。

    library(dplyr)
    library(lubridate)
    
    dates<-c("12.25.2021","12/26/2021")
    new_date=mdy(dates) %>% format(format="%m/%d/%Y")
    
    
    [1] "12/25/2021" "12/26/2021"
    

    【讨论】:

      【解决方案2】:

      您可以在format= 中定义多种格式。

      x <- c('12/28/2021', '12.28.2021', '2021-12-28')
      
      as.Date(x, format=c("%m/%d/%Y", "%m.%d.%Y", "%F"))
      # [1] "2021-12-28" "2021-12-28" "2021-12-28"
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-03-27
        • 1970-01-01
        • 2022-10-07
        • 2020-07-04
        • 2023-04-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多