for-loop - R - 循环打开多个文件
问题描述
我正在尝试将不同的循环合并到一个大的 for 循环中。每个较小的循环都包括打开不同的文件。我的问题是,如何在单个循环的每次迭代中打开不同的数据集?
我的第一个想法是创建一个文件,其中包含我要在每次迭代中打开的数据集的名称,例如:
> datasets <- read.csv("dataset_info.csv", header=TRUE, sep=";")
> datasets
db_combination dataset1 dataset2 dataset3
1 dataA_1 dataA_2 dataA_3.csv
2 dataB_1 dataB_2 dataB_3.csv
3 dataC_1 dataC_2 dataC_3.csv
4 dataD_1 dataD_2 dataD_3.csv
(dataset1 和 dataset2 将是环境中已经存在的数据库,而 dataset3 将是存储在给定文件夹中的 csv 文件。)
我想我会开始循环打开每个文件,比如:
for (db in datasets$db_combination) {
print(db)
db_unique<- datasets[datasets$db_combination==db,] # this would give me the row with each dataset needed per iteration
db_1 <- db_unique$dataset1
db_2 <- db_unique$dataset2
db_3 <- read.csv(get(db_unique$dataset3[db]), header = TRUE, sep = ",")
# and then continue with the rest of the loop
}
但这不起作用,因为对于 db_1 和 db_2 它只是给了我数据集的名称,作为一个字符,它并没有真正打开它,对于 db_3 我得到一个错误:
In file(file, "rt") :
cannot open file 'dataA_3.csv': No such file or directory
关于如何处理这个问题的任何想法?或者另一种正确打开这些文件的方法?
提前致谢。
解决方案
推荐阅读
- git - 如何区分 Git 中的特定文件?
- node.js - ExpressJS Nodemon 不在服务器上运行
- tensorflow - 在配置文件选项卡中的 TensorBoard 中得到奇怪的结果
- sas - 如何将多个文件夹中的多个 Excel 文件加载到 SAS 中并附加到一个最终表格中?
- python - 提示用户仅输入大于 1 的整数的错误处理
- sql - 从插入结果更新表
- apache - htaccess 重定向并将网站页面显示为子域
- python - 序列化程序中具有验证响应的模型字段长度约束
- ionic-framework - 我在运行 Ionic 应用程序时遇到错误
- tensorflow - NVidia 1080ti eGPU Ubuntu 16.04.5 LTS - PyTorch / Tensorflow 没有 root 权限