如何在R中使用for循环合并多个.RData?
我在一个文件夹中有多个如何在R中使用for循环合并多个.RData?,r,merge,row,R,Merge,Row,我在一个文件夹中有多个.RData文件。所有样本都有10行和5列 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.Rdat
.RData
文件。所有样本都有10行
和5列
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\u all
应具有80行
和5列
不幸的是,sample\u all=rbind(sample)
在循环中没有给出预期的结果
感谢您的帮助 我们可以使用
lappy
循环文件名称,加载数据,然后使用do.callrbind
out <- do.call(rbind, lapply(paste0("sample", 1:8, ".RData"), load.Rdata2))
我听不懂答案,你能再解释一遍吗?你可以做do.call(rbind,lappy(paste0(“sample”,1:8,.RData),函数(x)get(load.Rdata2(x)))
在你的for
循环中,你只是在创建sample
然后rbind
同一个对象。相反,需要更新对象get(load.Rdata2(x))中的错误:从以下位置调用的第一个参数无效:get(load.Rdata2(x))
由于未测试对象,请删除包裹在对象上的get
out1 <- data.frame()
for(rdata in paste0("sample", 1:8, ".RData")) {
out1 <- rbind(out1, load.Rdata2(rdata))
}