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