gpt4 book ai didi

R数据表推荐的处理日期时间的方法

转载 作者:行者123 更新时间:2023-12-04 09:58:36 25 4
gpt4 key购买 nike

我有一个 csv 文件,其中包含一列时间戳“2000-01-01 12:00:00.123456”。在数据表中处理它的推荐方法是什么?我需要处理分组、匹配/滚动连接与另一个表中的 IDate 列、时间序列绘图等。

IDateTime("2000-01-01 12:00:00.123456")

Error in if (any(neg)) res[neg] = paste("-", res[neg], sep = "") :
missing value where TRUE/FALSE needed

我在可能的 duplicate 问题中看到了这个答案,其中马修建议将日期手动转换为整数。但那是 3 岁了,我想知道现在是否存在更好的方法?

最佳答案

IDateTime 需要一个 POSIXct 类对象才能正常工作(它似乎也可以通过 factor 转换正常工作,不知道为什么)。我同意它没有很好的记录,也许值得在 GH 上打开一个关于文档的 FR/PR——虽然有一个关于 IDateTime vignette 的开放队列。并且已经有一个 FR 允许它与 character 类一起工作。

IDateTime(as.POSIXct("2000-01-01 12:00:00.123456"))
# idate itime
# 1: 2000-01-01 12:00:00
## IDateTime(factor("2000-01-01 12:00:00.123456")) ## will also work

如果要避免意外行为,请注意 tz 中的 as.POSIXct 参数

无论如何,似乎错误实际上是由调用 ITimeformat.ITime 的打印方法引起的,请参阅 herehere
例如,如果您将运行 res <- IDateTime("2015-09-29 08:22:00") 这将不会产生错误,尽管 res 将是 NA 由于 here 中的错误转换(我相信)(格式仅为 "%H:%M:%OS" )。这对我来说似乎是一个错误,当 factor 中没有 factor 方法时,我仍然不确定为什么 methods(as.ITime) 类可以正常工作。可能是因为它的 integer 内部存储模式调用了另一个相关的方法。

关于R数据表推荐的处理日期时间的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33064015/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com