如何在R中的文件夹中读取csv?

时间:2015-07-30 16:45:16

标签: r csv for-loop

我正在目录中工作,但我想要读取的数据位于子目录中。我尝试读取csv文件时出错,我的代码如下:

setwd("~/Documents/")
files <- list.files(path = "data/")
f <- list()
for (i in 1:length(files)) {
  f[[i]] <- read.csv(files[i], header = T, sep = ";")
}

我得到的错误是:

Error in file(file, "rt"): cannot open the connection

我做错了什么?

1 个答案:

答案 0 :(得分:1)

假设您已正确指定其他read.csv参数,以下内容将起作用。

setwd("~/Documents/")
files <- list.files(path = "data/")
f <- list()
for (i in 1:length(files)) {
  f[[i]] <- read.csv(paste0("data/",files[i]), header = T, sep = ";")
}

或者,您可以放弃paste0,只需将工作目录设置为~/Documents/data/即可。

setwd("~/Documents/data/")
files <- list.files() #No parameter necessary now since you're in the proper directory
f <- list()
for (i in 1:length(files)) {
  f[[i]] <- read.csv(files[i], header = T, sep = ";")
}

如果您需要在此循环结束时进入~/Documents/,请在循环后添加以下内容进行完成。

setwd("~/Documents/")