使用R的滑动窗口

时间:2013-10-28 03:03:43

标签: r correlation sliding-window

我的数据框中包含R中的每日数据(148列乘6230行)。我想使用长度为600(天)的滑动窗口找到相关系数,窗口位移为5(天)并尝试生成1220个相关矩阵(大约)。我看到的所有例子都只使用了一个信息向量。有一种使用滑动窗口找到那些相关矩阵的简单方法吗?我会感激任何建议。

1 个答案:

答案 0 :(得分:2)

如果M是输入矩阵,那么out的每一行都是一列一列的相关矩阵:

library(zoo) 
out <- rollapply(M, 600, by = 5, function(x) c(cor(x)), by.column = FALSE)

如果需要,可以将它们重新整形为相关矩阵列表:

L <- lapply(1:nrow(out), function(i) matrix(out[i, ], ncol(M)))

或作为数组:

simplify2array(L)