问题描述
我正在尝试将不同的循环合并为一个大的 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
提前致谢。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)