我有一些互相关函数crosscor,我想循环遍历数据矩阵中每一列的函数。该函数每次运行时都会输出一些看起来像这样的互相关:
Lags Cross.Correlation P.value
1 0 -0.0006844958 0.993233547
2 1 0.1021006478 0.204691627
3 2 0.0976746274 0.226628526
4 3 0.1150337867 0.155426784
5 4 0.1943150900 0.016092041
6 5 0.2360415470 0.003416147
7 6 0.1855274375 0.022566685
8 7 0.0800646242 0.330081900
9 8 0.1111071269 0.177338885
10 9 0.0689602574 0.404948252
11 10 -0.0097332533 0.906856279
12 11 0.0146241719 0.860926388
13 12 0.0862549791 0.302268025
14 13 0.1283308019 0.125302070
15 14 0.0909537922 0.279988895
16 15 0.0628012627 0.457795228
17 16 0.1669241304 0.047886605
18 17 0.2019811994 0.016703619
19 18 0.1440124960 0.090764520
20 19 0.1104842808 0.197035340
21 20 0.1247428178 0.146396407
我想将所有列表放在一起,以便它们位于数据框中,并最终将其导出到 csv 文件中,因此列如下:lags.3、cross-correlation.3、p-value.3、lags。 3、互相关。2....等 直到 p.value.50。
我尝试使用 do.call 如下,但没有成功:
for(i in 3:50)
{
l1<-crosscor(data[,2], data[,i], lagmax=20)
ccdata<-do.call(rbind, l1)
cat("Data row", i)
}
我也试过直接创建数据框,但我只是得到滞后列名称:
ccdata <- data.frame()
for(i in 3:50)
{
ccdata[i-2:i+1]<-crosscor(data[,2], data[,i], lagmax=20)
cat("Data row", i)
}
我究竟做错了什么?或者是否有关于我可以访问的数据集的在线资源来弄清楚如何做到这一点?最好的,