r - 如何在 R 中使用 for 循环合并多个 .RData?
问题描述
我.RData
在一个文件夹中有多个文件。所有样品都有10 rows
和5 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 rows
和5 columsn
。
不幸sample_all=rbind(sample)
的是,在循环内没有给我预期的结果。
任何帮助表示赞赏。
解决方案
我们可以使用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))
}
推荐阅读
- python - for-loop 中的 Python re.search 给出了误报。我该如何解决?
- javascript - 在 Sumerian 3D HTML 中显示 Lex 响应
- groovy - Extracting an xml value in Groovy
- c - 运行程序时标准输入不起作用
- php - 在 Laravel 5.4 中即使没有登录也应该返回页面
- c++ - 简单 3x3 矩阵类的运算符重载错误
- javascript - 将字符串拆分为数组,但在应用连接时仍保留逗号。- Javascript
- typescript - 使用 VS Code 对打字稿进行语法/语义扩展
- laravel - Laravel 控制器 - 获取用户“电子邮件”的“名称”变量 - 不是作为登录技术
- vertica - 如何在 vertica 上创建一个表,以保留数据更改的完整历史记录,主要是行的更新