2014-07-23 158 views
0

我有100个矩阵行和列的数量相同。我想将它们全部合并到一个矩阵中。什么是最好的方式来做到这一点?合并矩阵R

我已经尝试过“追加”,但我不知道为什么结果矩阵是空的。这是我所做的:

Aggregate<-function(files,filepath,Matrix){ 
      for(f in files) { 
       file<-file.path(filePath,f) 
       temp<-read.table(file,head=T) 
       for(i in 1:nrow(temp)){ 
        append(Matrix,temp[i, ]) 
       } 
      } 
    return(Matrix) 
    } 

这段代码有什么问题吗?

感谢

+1

你是什么意思*合并*? – merlin2011

+0

'append'将值附加到矢量而不是矩阵。你应该使用'rbind'或'cbind'。 – stanekam

+0

我想要在一个大矩阵中聚合所有这些元素。矩阵的大小是240x85 – user1080814

回答

1

你想cbind or rbind

采取的向量,矩阵或数据帧参数的顺序和列或行,分别结合 。这些是其他R类的 方法的通用函数。

+2

更完整的答案是将所有矩阵收集到列表中,首先在文件名/路径上''read'table',然后调用'do.call(rbind,listofmatrices )' – thelatemail

+0

如何将所有矩阵收集到列表中?我使用file.path来访问特定路径中所需的矩阵。我应该使用do.call for file.path吗? – user1080814

+0

发布所有代码! –