【问题标题】:Multiple Date, Missing Time and NA Values in a Column in R [duplicate]R中的列中的多个日期,缺少时间和NA值[重复]
【发布时间】:2018-06-03 14:12:00
【问题描述】:

我有一个数据集,其中包含日期时间列,但格式混乱,难点在于该列也有 NA

date_time <- c("11/7/2016 14:11", "12-11-2016 2:00:54", "NA", "12/7/2016 22:03")

我需要忽略NA 的值,要插入的秒数和统一的日期格式。

使用gsub(pattern ='-', replacement='/', date_test) 我可以修复日期格式

当我使用as.Dateas.POSIX 应用任何日期时间格式时,它会产生NA 值,因为有些时间没有秒数。该表已经有 NA 值,所以我丢失了值。

我需要将时间四舍五入到分钟或插入虚拟秒,然后再将其格式化为日期时间,它给了我NA

谢谢

【问题讨论】:

    标签: r


    【解决方案1】:

    根据输入,如果我们有多种格式,一个选项是parse_date_time from lubridate

    library(lubridate)
    parse_date_time(date_time, c("%m/%d/%Y %H:%M:%S", "%m-%d-%y %H:%M"))
    #[1] "2016-11-07 14:11:00 UTC" "2016-12-11 02:00:54 UTC"
    #[3] NA                        "2016-12-07 22:03:00 UTC"
    

    【讨论】:

    • 谢谢,但我仍然收到一些错误,因为我省略了另一个格式值 date_time
    • @Kaps 是基于你的例子
    • 非常感谢您的帮助,是的,它适用于最初的示例。请您帮助我在上面的评论中包含修改后的示例。为什么这不起作用 parse_date_time(date_time, c("%m/%d/%Y %H:%M:%S", "%m-%d-%y %H:%M", "%m/ %d/%Y %H:%M", "%m-%d-%Y %H:%M:%S"))
    • 我认为%m-%d-%y %H:%M应该是%Y基于示例
    猜你喜欢
    • 1970-01-01
    • 2016-11-21
    • 2019-05-01
    • 1970-01-01
    • 2014-04-30
    • 1970-01-01
    • 2022-01-15
    • 1970-01-01
    • 2016-07-24
    相关资源
    最近更新 更多