解决办法是从stackoverflow上面看到,我来翻译成中文,并加上实际的例子应用。
创建data.table
library(data.table)
library(zoo)
dt <- data.table(
mydates = as.Date("2012-01-01") + 1:9,
value1 = sort(rpois(9, 6)),
value2 = sort(rpois(9, 6)),
value3 = sort(rpois(9, 6)),
value4 = sort(rpois(9, 6)),
value5 = sort(rpois(9, 6)))
#查看数据结构
> dt
mydates value1 value2 value3 value4 value5
1: 2012-01-02 4 4 2 2 1
2: 2012-01-03 4 4 3 5 4
3: 2012-01-04 4 4 4 5 5
4: 2012-01-05 5 5 4 5 5
5: 2012-01-06 5 5 5 6 5
6: 2012-01-07 7 6 7 6 6
7: 2012-01-08 8 8 9 7 8
8: 2012-01-09 10 8

本文介绍了如何在R中将data.table数据结构转化为zoo时间序列格式,以便进行时间数据的处理。内容包括创建data.table、转化为zoo格式的方法,以及如何提取特定日期的数据。在转化过程中,强调了x需要是向量、矩阵或data.table,并且window函数操作对象必须为zoo格式。此外,还提到了data.table的with参数用于动态选取列,但返回结果保持为data.table格式。需要注意,index必须是唯一的,否则可能导致问题。对于大量数据,建议确保粒度到秒或使用groupby操作。
最低0.47元/天 解锁文章
6093





