R和附加到数据帧

R和附加到数据帧,r,R,我有一些互相关函数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

我有一些互相关函数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,cross-correlation.2…等等。直到p.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)
    }
for(3:50中的i)
{

l1data.frames有一种转置方法。如果“crosscor”是对象的名称,请尝试以下方法:

 tcrosscor <- t(crosscor)
 write.csv(tcrosscor, file="my_crosscor_1.csv")

tcrosscor啊,对不起,我认为我最初的问题不清楚。我实际上发现,我认为最简单的方法就是将我创建的每个新数据集与以前的数据集合并,而不是尝试附加到一个新数据集。
 tcrosscor <- t(crosscor)
 write.csv(tcrosscor, file="my_crosscor_1.csv")
 single_line <- as.data.frame(unlist(tcrosscor))
 names(single_line) <- paste("Lag", 'Cross.Correlation', 'P.value'), rep(1:50, 3), sep=".")
 write.csv(single_line, file="my_single_1.csv")