R中的Date类有一个double支持:
> dput(Sys.Date())
structure(18095, class = "Date")
> class(unclass(Sys.Date()))
[1] "numeric"
为什么不整数?这样可以节省一半的内存(每个日期4个字节),并且似乎至少在简单的情况下可以工作:
> structure(18095L, class = "Date")
[1] "2019-07-18"
评论使用小数日期提及。我对一般使用小数日期感到谨慎,但是R的行为可能绝对不是您期望的:
> as.POSIXct(structure(18095.5, class = "Date"))
[1] "2019-07-18 14:00:00 CEST"
我仍然可以看到为什么这是正确的结果。