如何在R中使用for循环合并多个.RData?

时间:2020-01-22 20:05:37

标签: r merge row

一个文件夹中有多个.RData文件。所有样本均具有10 rows5 columns

sample 1.RData
sample 2.RData
sample 3.RData
sample 4.RData
sample 5.RData
sample 6.RData
sample 7.RData
sample 8.RData

我可以使用以下代码加载它们

seed.no=c(1:8)
    for ( ss in seed.no){
      #Load .RData
      sample=load.Rdata2(filename = paste0("sample",ss,".RData"))
       sample_all=rbind(sample)
    }

我想将所有数据文件按行合并为

  sample_all= rbind(sample 1.RData, sample 2.RData, sample 3.RData,sample 4.RData,sample 5.RData,sample 6.RData,sample 7.RData ,sample 8.RData).

sample_all应该具有80 rows5 columsn

不幸的是,sample_all=rbind(sample)在循环中没有给我预期的结果。

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

我们可以使用lapply遍历文件名,load数据,然后使用rbinddo.call

out <- do.call(rbind, lapply(paste0("sample", 1:8, ".RData"), load.Rdata2))

通过for循环,我们可以做同样的事情

out1 <- data.frame()
for(rdata in paste0("sample", 1:8, ".RData")) {
       out1 <- rbind(out1, load.Rdata2(rdata))
}