【问题标题】:strptime function in R returns null valuesR中的strptime函数返回空值
【发布时间】:2019-04-15 12:09:08
【问题描述】:

R 中的Strptime 函数返回空值。我的数据集中有一列时间格式为“2000”“1830”等等.....

我正在尝试为列提供时间格式并以以下指定格式“%Y-%m-%d %H:%M:%S”获取日期和时间

data$date <- strptime(data$date, '%Y-%m-%d %H:%M')

当我运行代码时,我得到了 NA's

【问题讨论】:

    标签: r date datetime


    【解决方案1】:

    您似乎只有时间,没有日期,对吗?此外,您的数据中的小时和分钟之间没有:,但您确实在格式中指定了它。这有帮助吗?

    strptime("2000", format = "%H%M")
    strptime("1830", format = "%H%M")
    

    【讨论】:

    • 是的,我没有约会。我在列中有大约 21 个字段需要更改不同的时间但是当我运行这个 strptime("2000", format = "%H%M") strptime("1830", format = "%H%M" ) 所有 21 个都更改为相同的值
    • 你的意思是不是把今天的日期加到那些时间上?您可以将 strptime 函数包装到 format(x, "%H:%M") 中,以便仅提取之后的时间,如下所示:format(strptime("1830", format = "%H%M"), "%H:%M"),它给出了 "18:30"
    • 不,我的意思是我有 21 个不同时间的字段需要更改为相应的值。所以有多次像“1830”“1930”“2000”等等。所以我需要给这21个不同时间的字段一个合适的时间格式。使用此代码 strptime("2000", format = "%H%M") 所有 21 都将更改为 20:00:00。
    • 我明白你的意思,你应该用你的变量名替换"2000"。如果您的数据框被称为df 并且列被称为col,应该这样做:strptime(df$col, format = "%H%M")
    • strptime(df$col, format = "%H%M") 这个命令有效。我可以在控制台中看到结果,但如何在 CSV 中获得相同的结果?我对 R 很陌生,很抱歉一次又一次地打扰你。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-16
    • 1970-01-01
    • 1970-01-01
    • 2020-08-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多