【问题标题】:Running and Exporting Numerous Cross-Correlations of Time Series Using CCF() in R在 R 中使用 CCF() 运行和导出大量时间序列的互相关
【发布时间】:2019-12-02 19:16:51
【问题描述】:

我正在寻找一种方法来运行存储在 R 中的一个 ts 对象中的众多时间序列之间的互相关,然后将其正确导出到 csv/xlsx 文件。

现在我有一个 TS 对象,其中包含约 80 个变量(每个变量代表不同的宏观经济指标)和 98 行(每行代表从 2010 年到 2019 年的 1 个月)。这些变量将使用 ccf() 与 TS(最右边的列)中的最后一个变量进行比较,然后如果可行,则将其写入 csv/xlsx 或我可以在 excel 中操作的任何其他文件。

理想情况下,它会像这样运行:

ccf1 = ccf(as.numeric(mvarsTS$`GDP`), as.numeric(mvarsTS$`securitiesbalance`), lag = 4)

除了它会遍历每个变量而不仅仅是 GDP。

有谁知道我可以做到这一点的方法吗?

编辑:

这是我目前所拥有的:

for(i in names(mvarsTS)) {
ccf1 = ccf(as.numeric(mvarsTS[[i]]), as.numeric(mvarsTS$`SecuritiesBalance`), lag = 4)
acd <- data.frame(cbind(lag=ccf1$lag,acf=ccf1$acf)) 
}

除非我运行它,否则下标会越界。

如果有办法正确运行此循环,然后将结果附加到数据框中,它将解决我的问题

【问题讨论】:

  • 很难理解您的问题。您面临的具体问题是什么?请您重新整理一下您的问题吗?

标签: r time-series correlation cross-correlation


【解决方案1】:

这将给出choose(ncol(mtcars), 2) 组件的列表:

out <- combn(mtcars, 2, function(x) ccf(x[, 1], x[, 2], plot = FALSE)$acf, 
  simplify = FALSE)
names(out) <- combn(names(mtcars), 2, toString)

【讨论】:

    猜你喜欢
    • 2013-03-11
    • 2012-05-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多