繁体   English   中英

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 中不存在的字符串插值。

看看这个的output:

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")
} 

Output:

[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"))
} 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM