使用R在所有子目录中查找文件

时间:2016-10-26 20:31:27

标签: r

我在使用RStudio(0.99.893)运行Windows 10的计算机上。我遇到了一个问题,我希望将所有文件类型(.cnv)包含在一个数据帧中。在过去,所有文件都在一个目录中,因此以下工作正常:

setwd(directory path)
df <- c()
for (x in list.files(pattern="*.cnv")) {
u<-read.table(x)
      u$Filename = factor(x)
      df <- rbind(df, u)
}

现在我遇到的情况是有几个名字不规则的子目录。在我告诉R“移动到这个目录之前,查找所有带有.cnv的文件,然后将它们组合成一个数据帧”。现在我需要告诉R“移动到这个目录,查看这个目录以及所有带有.cnv文件的子目录,然后将它们组合成一个数据帧。

知道如何在R中完成任务吗?

1 个答案:

答案 0 :(得分:1)

设置recursive=TRUE应该有效:

setwd(directory path)
df <- c()
for (x in list.files(pattern="*.cnv", recursive=TRUE)) {
      u<-read.table(x)
      u$Filename = factor(x)
      df <- rbind(df, u)
}

来自?list.files

  

递归:逻辑。列表应该递归到目录吗?