如何读取可变数量的文件,然后组合R中的数据帧?

drd*_*dot 3 r

我想设计一个功能.假设我有文件file1.csv,file2.csv,file3.csv,...,file100.csv.每次通过指定整数向量id调用函数时,我只想读取其中的一些,例如,id = 1:10,然后我将读取file1.csv,...,file10.csv.

在阅读了那些csv文件后,我想将它们组合成一个变量.所有csv文件都具有相同的列结构.

我的代码如下:

  namelist <- list.files() 
  for (i in id) { 
    assign(paste0( "file", i ), read.csv(namelist[i], header=T))
  }
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,在我读完所有数据矩阵之后,我坚持将它们组合在一起,因为它们都有不同的变量名称.

chr*_*oph 6

您应该将每个文件作为列表的元素读入.然后你可以将它们组合如下:

namelist <- list.files()
df <- vector("list", length = length(id))
for (i in id) {
    df[[i]] <- read.csv(namelist[i], header = TRUE)
}
df <- do.call("rbind", df)
Run Code Online (Sandbox Code Playgroud)

或者更简洁:

df <- do.call(rbind, lapply(list.files(), read.csv))
Run Code Online (Sandbox Code Playgroud)