R 中的滚动相关性问题

问题描述 投票:0回答:1

我想测量两个向量之间的滚动相关性。如果我选择窗口宽度并测量相关性,大多数命令将不会在窗口的中心而是在末尾添加此相关性。

例如,如果窗口宽度为9,则第一个相关系数将在第9行。然而,测量的系数反映了窗口期间的平均相关性,因此该系数应位于第 5 行。

有谁知道一个命令(或一个包)可以让我将结果居中,因为手动通常很难正确调整日期。

r correlation
1个回答
0
投票

rollapply 默认居中对齐。使用内置的 BOD 数据框:

library(zoo)

rollapply(BOD, 3, \(x) cor(x[, 1], x[, 2]), by.column = FALSE, fill = NA)
## [1]         NA  0.9404315  0.6449020 -0.9148074  0.9131459         NA

# check

cor(BOD[1:3, 1], BOD[1:3, 2])
## [1] 0.9404315

cor(BOD[2:4, 1], BOD[2:4, 2])
## [1] 0.644902
© www.soinside.com 2019 - 2024. All rights reserved.