For循环从不同目录读取R中的多个csv文件

For loop to read multiple csv files in R from different directories

我在一个公共目录中有多个目录,每个目录都包含一个 CSV 文件(还有一些其他文件)。

我想在 R 中使用 FOR 循环读取所有 CSV 文件。每个目录(在公共目录中)的名称不是按顺序排列的,但是目录中每个 CSV 文件的名称与目录相同它在里面。我写了下面的简单代码,但它给了我错误。

files <- c(21,22,29,30,34,65,66,69,70,74)

for(i in files) {                                             # Loop over character vector
  F[i] <- read.csv("F:/Fish[i]/Fish[i].csv")
} 

文件错误(文件,“rt”):无法打开连接 另外: 警告信息: 在文件(文件,“rt”)中: 无法打开文件“/Fish[i]/Fish[i].csv”:没有这样的文件或目录

我在这里犯错的地方有什么帮助吗?

谢谢

您正在尝试使用 R 中不存在的字符串插值。

看看这个输出:

files <- c(21,22,29,30,34,65,66,69,70,74)

for(i in files) {                                             # Loop over character vector
  print("F:/Fish[i]/Fish[i].csv")
} 

输出:

[1] "F:/Fish[i]/Fish[i].csv"
[1] "F:/Fish[i]/Fish[i].csv"
[1] "F:/Fish[i]/Fish[i].csv"
[1] "F:/Fish[i]/Fish[i].csv"
[1] "F:/Fish[i]/Fish[i].csv"
[1] "F:/Fish[i]/Fish[i].csv"
[1] "F:/Fish[i]/Fish[i].csv"
[1] "F:/Fish[i]/Fish[i].csv"
[1] "F:/Fish[i]/Fish[i].csv"
[1] "F:/Fish[i]/Fish[i].csv"

此外,什么是F?如果是列表,则需要使用双方括号:

for(i in files) {                                             # Loop over character vector
 F[[i]] <- read.csv(paste0("F:/Fish",i,"/Fish", i, ".csv"))
}