【发布时间】:2022-01-27 14:50:37
【问题描述】:
我有一个项目文件夹,其中包含 10 个子文件夹(每个采样站一个),每个站都有几个文件夹(因此项目中的子文件夹),其中包含不同采样日期的数据。
我需要为所有日期和电台的所有“species.txt”文件运行相同的脚本。
我在另一篇文章中找到了下一个代码,它帮助我为第一级子文件夹运行脚本,但我不知道如何让它为下一个级别运行。
parent.folder <- "C:/R_Files/Data/ProjectIO"
sub.folders <- list.dirs(parent.folder, recursive=TRUE)[-1]
r.scripts <- file.path(parent.folder, "speciesnames.r")
# Run scripts in sub-folders
for(i in sub.folders) {
setwd(i)
source(r.scripts)
}
谁能给我一个提示?
谢谢
SG
【问题讨论】:
-
你的问题太宽泛了。不幸的是,我们不知道文件夹结构,也无法重现您的示例。从您的描述来看,您在子文件夹中有数据文件。如果是这样,我建议将它们全部加载到一个 R 脚本中,然后进行分析。
-
list.dirs(parent.folder)为您提供每个目录和子目录的列表。这不是您要找的吗? -
您将如何处理这些采样日期?如果
speciesnames.R包含codem,并且您必须从子文件夹中调用每个采样数据文件,我会考虑list.files(path = parrent.folder, pattern = ".dat", full.names = TRUE, recursive = TRUE) -
嗨,我已经更新了一个关于文件如何分发的架构,这可能解释得更好一些?
标签: r recursion subdirectory rscript