首页 > 解决方案 > 如何在 R 中使用 for 循环合并多个 .RData?

问题描述

.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)的是,在循环内没有给我预期的结果。

任何帮助表示赞赏。

标签: rmergerow

解决方案


我们可以使用lapply循环文件名,load数据,然后rbind使用do.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))
} 

推荐阅读