如何一次将一个目录中的所有文件读入R?

如何一次将一个目录中的所有文件读入R?,r,R,我有一个文件夹,其中包含大约200个.txt文件。我想读取所有文件,并选择每个文件的第二列,然后将它们放在一个矩阵中。(rbind()) 是否有一次读取所有文件的命令 我想使用: data<-read.table ("", header= T, sep=",") data有三个步骤: 通过列表获取所有文件名。文件 使用lappy读取列表中的所有文件 使用do。调用将所有数据绑定到单个数据帧或矩阵中 守则: nm <- list.files(path="path/to/file")

我有一个文件夹,其中包含大约200个.txt文件。我想读取所有文件,并选择每个文件的第二列,然后将它们放在一个矩阵中。(rbind()) 是否有一次读取所有文件的命令

我想使用:

data<-read.table ("", header= T, sep=",")

data有三个步骤:

  • 通过
    列表获取所有文件名。文件
  • 使用
    lappy
    读取列表中的所有文件
  • 使用
    do。调用
    将所有数据绑定到单个数据帧或矩阵中
  • 守则:

    nm <- list.files(path="path/to/file")
    do.call(rbind, lapply(nm, function(x) read.table(file=x)[, 2]))
    

    nm如果它们是时间序列
    read.zoo包中的
    zoo可以一次读取多个文件。在
    read.table
    之后可能需要
    [,2]
    ,才能根据问题获得第二列。@Spacedman感谢您的提示,请编辑答案。使用data.table::fread()代替read.table()&data.table::rbindlist()而不是比rbind()快10倍的rbind()。