我在R和统计学方面很新。 我想使用循环对 75 列执行 Johansen 协整测试。然后将结果作为数据框或列表整理跟踪测试和置信水平 90% 95% 99% 到数据框中。
我有一个格式为data.frame
的时间序列。正如我所说,75 列具有不同的名称(具有每日数据的公司(和 495 行。
根据ADF测试时间序列是静止的。
所以基本上我的数据看起来像:Name Name2 Name3 Name4 Name5 Name6 Name7 Name8 ... Name75
(所有名称都不同(
我知道要获得所有可能的组合,我必须使用combn()
,所以我假设我的代码应该看起来像:
combn(seq_len(ncol(myData)), 2,
FUN=function(x) ca.jo(Farm2[, x[1]], Farm2[, x[2]]), simplify=FALSE)
或者可能是这样的:
for (col in colnames(myData)) {
print(col)
data <- myData[, col]
print(data)
Jo <- ca.jo(data, type="trace", K=2, ecdet="none", spec="longrun")
summary(Jo)
}
但没有任何效果。
有人可以帮助我理解和纠正我的循环吗?
请记住,临界值仅针对少于 11 个变量的系统报告,并且取自 Osterwald-Lenum,如果您想在包中使用 Johansen 检验进行协整urca
也许您应该考虑重组输入数据。
在此处阅读更多内容。