我在使用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中完成任务吗?
答案 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
:
递归:逻辑。列表应该递归到目录吗?