我正在处理一些昼夜时间序列,其中时间必须表示为分钟。
在各种工具中,一些日期/时间类表示为自纪元以来的整数(例如,R 的 POSIX 类、Python/Numpy);其他的是自纪元以来的小数天(例如,R 的 chron 包,也是 Matlab)。
似乎整数表示允许您执行数值计算(和,差),但也提供了一种通过它们合并/匹配的方法,而对于由小数天(浮点数)表示的那些,按时间合并/匹配更加困难.
这更像是一个概念性问题,但是否有充分的理由使用小数天数或浮点数来表示时间?对于 R,奇怪的是即使 POSIX 类也是数字而不是整数。
> (p <- as.POSIXct("2011-01-01"))
[1] "2011-01-01 CST"
> (unclass(p <- as.POSIXct("2011-01-01")))
[1] 1293861600
attr(,"tzone")
[1] ""
> class(unclass(p <- as.POSIXct("2011-01-01")))
[1] "numeric"
这是因为 R 早期的整数存储限制吗?或者使用浮点表示还有其他优势吗?要合并,我将日期/时间对象转换为格式化的字符串,但这是规范的方式(我最常使用chron
R 中的包)吗?