【问题标题】:Converting date uploaded as a factor to date [closed]将作为因素上传的日期转换为日期[关闭]
【发布时间】:2021-08-13 20:32:18
【问题描述】:

尝试将我的数据框中的列转换为日期时间。数据已作为'August 18, 2020 11:42' 格式的因子上传。

我尝试过使用 as.Date 格式:as.Date(calls$date_time, "%B %d, $Y %H:%M")

但它返回NA

我怎样才能修复这个 as.Date 以提供日期时间输出?

【问题讨论】:

    标签: r as.date


    【解决方案1】:

    我们可以在将因子转换为字符后使用lubridate包中的mdy_hm函数:

    library(lubridate)
    
    a <- as.factor("August 18, 2020 11:42")
    mdy_hm( as.character(a))
    

    输出:

    [1] "2020-08-18 11:42:00 UTC"
    

    【讨论】:

      【解决方案2】:

      应该是%Y而不是$Y,如果我们需要日期时间而不是Date类,也可以更改为as.POSIXct

      as.POSIXct(str1, format = '%B %d, %Y %H:%M')
      [1] "2020-08-18 11:42:00 EDT"
      

      即在 OP 的代码中

      as.POSIXct(calls$date_time, "%B %d, %Y %H:%M")
      

      这会更容易,即如果我们使用来自anytimeanytime/anydate(无需处理拼写错误)

      library(anytime)
      anytime(str1)
      [1] "2020-08-18 11:42:00 EDT"
      

      anydate 转换为 Date

      数据

       str1 <- 'August 18, 2020 11:42'
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-03-24
        • 1970-01-01
        • 2013-10-20
        • 1970-01-01
        • 1970-01-01
        • 2020-05-24
        相关资源
        最近更新 更多