【问题标题】:Date format convertion in RR中的日期格式转换
【发布时间】:2020-11-23 17:28:14
【问题描述】:

我在将变量转换为日期格式时遇到问题。 我有以下列:

fechas
20200509
20200601
20200505
20200610
20200612
20200529

其中,第一行 2020 是年份,05 是月份,09 是日期。所以我需要将此列转换为:

fechas
2020-05-09
2020-06-01
2020-05-05
2020-06-10
2020-06-12
2020-05-29

我想到了一种分离字符并用-粘贴它们的解决方案,但我想知道是否有更直接的方法。

【问题讨论】:

    标签: r string date


    【解决方案1】:

    lubridate 包有很多函数可以让处理日期变得简单容易。看起来ymd 应该适合你(年/月/日)。

    library(lubridate)
    
    # character
    fecha <- '20200509'
    # or numeric
    fecha <- 20200509
    
    fecha_nueva <- ymd(fecha)
    
    [1] "2020-05-09"
    

    【讨论】:

      【解决方案2】:

      你可以看看那个页面:

      https://stats.idre.ucla.edu/r/faq/how-can-i-format-a-string-containing-a-date-into-r-date-object/

      对如何阅读自定义日期格式有很好的解释。

      案例 1 就是一个很好的例子。

      【讨论】:

        【解决方案3】:

        我建议使用内置的strptime

        # Data
        dates <- c(20200509L, 20200601L, 20200505L, 20200610L, 20200612L, 20200529L)
        
        strptime(dates, "%Y%m%d")
        # [1] "2020-05-09 CEST" "2020-06-01 CEST" "2020-05-05 CEST"
        # [4] "2020-06-10 CEST" "2020-06-12 CEST" "2020-05-29 CEST"
        

        或与as.Date结合使用

        as.Date(strptime(dates, "%Y%m%d"))
        # [1] "2020-05-09" "2020-06-01" "2020-05-05" "2020-06-10" "2020-06-12"
        # [6] "2020-05-29"
        

        PS 文档 (c.f. ?strptime) 为日期解析提供了很多有趣的信息。

        【讨论】:

          【解决方案4】:

          anydate 的选项

          library(anytime)
          anydate(df1$fechas)
          #[1] "2020-05-09" "2020-06-01" "2020-05-05" "2020-06-10" "2020-06-12" "2020-05-29"
          

          数据

          df1 <- structure(list(fechas = c(20200509L, 20200601L, 20200505L, 20200610L, 
          20200612L, 20200529L)), class = "data.frame", row.names = c(NA, 
          -6L))
          

          【讨论】:

            猜你喜欢
            • 2021-12-19
            • 2021-04-21
            • 1970-01-01
            • 2020-08-15
            • 2023-03-31
            • 2018-07-18
            • 1970-01-01
            • 1970-01-01
            • 2021-03-07
            相关资源
            最近更新 更多