如何在R中组合多个.csv文件

如何在R中组合多个.csv文件,r,csv,R,Csv,我是R新手,有一个包含~300.csv文件的文件夹。我正在尝试将所有数据合并到一个文件中,以便对其执行一些基本的算法。我尝试过搜索网页,但是我尝试过的功能不断给我带来错误,例如 master <- list.files(path = "~/") master <- do.call("rbind", lapply("001.csv" "002.csv", read.csv, header = TRUE)) 给出错误:“}”中出现意外的“}” 有人能帮忙吗?如果是的话,请你解释一下,

我是R新手,有一个包含~300.csv文件的文件夹。我正在尝试将所有数据合并到一个文件中,以便对其执行一些基本的算法。我尝试过搜索网页,但是我尝试过的功能不断给我带来错误,例如

 master <- list.files(path = "~/")
master <- do.call("rbind", lapply("001.csv" "002.csv", read.csv, header = TRUE))
给出
错误:“}”中出现意外的“}”

有人能帮忙吗?如果是的话,请你解释一下,这样对编程不熟悉的人就可以跟上


谢谢

您好,我想您的代码几乎成功了,您忘了将文件名放在向量中。您可以使用

do.call("rbind",lapply(c("001.csv", "001.csv"), read.csv, header = T))
如果文件均为“001.csv”格式,您可以使用以下自动生成csv文件名称的功能,例如,如果我们有001.csv到10.csv,您可以使用:

pollutantmean <- function(idrange) {
  output <- c()
  for(id in idrange){
    if((id>=1) && (id<10)) {
      output <- c(output, paste("00",id,sep=""))
    } else if((id>=10) && (id<=99)) {
      output <- c(output, paste("0",id,sep=""))
    } else {
      output <- c(output,id)
    }}
  output
}


do.call("rbind",lapply(paste0(pollutantmean(1:10),".csv"), read.csv, header = T))

pollutantmean最后我用了这个,它似乎起了作用

files_full <- list.files("specdata", full.names=TRUE)

dat <- data.frame()
    for (i in 1:332) {
      dat <- rbind(dat, read.csv(files_full[i]))
    }
    str(dat)

文件已满,或者第一个错误可能意味着您无法使用
“001.csv”“002.csv”
。也许可以尝试使用
列表(“001.csv”,“002.csv”
)来代替。@Sotos如果是重复的,请将其标记为重复
files_full <- list.files("specdata", full.names=TRUE)

dat <- data.frame()
    for (i in 1:332) {
      dat <- rbind(dat, read.csv(files_full[i]))
    }
    str(dat)