class(unclass(Sys.Date(-6ren">
gpt4 book ai didi

r - 为什么基R中的Date类有一个double支持

转载 作者:行者123 更新时间:2023-12-03 15:38:26 25 4
gpt4 key购买 nike

基数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"

我可以看到为什么这是正确的结果,但仍然如此。

最佳答案

我在data.table问题跟踪器中偶然发现了this post。 Matt Dowle在其中提到R core告诉他,double确实用于支持小数日期并确保Date类在诸如mean()之类的操作下关闭。我认为这不是一个好主意,幸运的是,像我这样的人现在有了 IDateTime :)

关于r - 为什么基R中的Date类有一个double支持,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57089627/

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