我在XTS表示作为转换连续时间序列数据纳入日常-每小时表示,使用R
library(xts)
xtime <-timeBasedSeq('2015-01-01/2015-01-30 23')
df <- xts(rnorm(length(xtime),30,4),xtime)
现在我想计算不同天之间的合作orelation时间序列数据,所以我想以矩阵形式表示为df
:
为了实现这一点,我使用
p_mat= split(df,f="days",drop=FALSE,k=1)
使用这个我得到一个天的列表,但我不能以矩阵形式安排这个列表。我也用
p_mat<- df[.indexday(df) %in% c(1:30) & .indexhour(df) %in% c(1:24)]
有了这个,我没有得到任何输出。 我也尝试使用rollapply()
,但无法正确安排。
我可以帮助使用xts/zoo对象形成矩阵。
它完美地工作。但是,我不想将我的xts对象转换为数据框,因为这会减慢我的计算速度。我相信使用'split'或'indexday'我应该能够代表它。我会等待使用这些答案,否则我会去'xtabs' –
我不认为使用'data.frame'会花费那么长的时间,甚至没有1米行。保存数据框之外的日期,然后使用格式创建列的其余部分将使其更快,因为您只会使用'index'一次。 – LyzandeR