gpt4 book ai didi

r - data.table 函数可以动态操作日期和时间列吗?

转载 作者:行者123 更新时间:2023-12-04 06:07:10 28 4
gpt4 key购买 nike

我已经开始使用 data.table。事实上,它的速度非常快,而且语法非常好。我在约会时遇到问题。我喜欢使用lubridate。在我的许多数据集中,我都有日期或日期和时间,并使用 lubridate 来操作它们。 Lubridate 将瞬间存储为 POSIX 类。我在这里看到了创建新变量的答案,例如只是为了获得年份,例如。 2005. 我不喜欢那样。有时我会按年分析,有时按季度分析,有时按月分析,有时按持续时间分析。我想做一些简单的事情,比如这样

mydatatable[,length(medical.record.number),by=year(date.of.service)]

这应该给我在给定的一年中遇到的患者数量。 by 函数不起作用。
Error in names(byval) = as.character(bysuborig) : 
'names' attribute [2] must be the same length as the vector [1]

您能否指点我的小插图,其中 data.tables 与日期一起使用,以及对这些日期的操作和分类是动态完成的。

最佳答案

这使用了 help(IDateTime) 中的示例之一。页。它表明您可以更改 by= 的语法。以“=”形式或(在@Matthew Dowle 的下面评论之后)形式的字符值的参数,您可以尝试使用您正在使用的功能形式(尽管我自己无法让它工作。我确实得到了首选形式:by=list(wday=wday(idate)) 起作用。)请注意,由于没有 idate,因此 key 创建假定一个 IDateTime 类。或 itime多变的。这些是类的属性

datetime <- seq(as.POSIXct("2001-01-01"), as.POSIXct("2001-01-03"), by = "5 hour")    
(af <- data.table(IDateTime(datetime), a = rep(1:2, 5), key = "a,idate,itime"))

af[, length(a), by = "wday = wday(idate)"]
wday V1
[1,] 2 4
[2,] 3 5
[3,] 4 1

关于r - data.table 函数可以动态操作日期和时间列吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8220429/

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