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

知道如何处理这个问题吗?或者用其他方法正确打开这些文件

提前致谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)