源R脚本在不同的文件夹中

时间:2014-09-25 18:21:44

标签: r rstudio

我有一个关于在不同文件夹中获取R脚本的问题。假设我在R Studio中创建了一个新项目。项目文件夹包含几个文件夹(数据,包含scripots的不同文件夹,latex文件夹,plot文件夹等)。有没有办法自动获取此项目文件夹中的所有R脚本?感谢

1 个答案:

答案 0 :(得分:2)

我使用此功能来获取特定文件夹中的所有R文件。

## finds all .R and .r files within a folder and sources them
sourceFolder <- function(folder, recursive = FALSE, ...) 
{ 
    files <- list.files(folder, pattern = "[.][rR]$", 
                        full.names = TRUE, recursive = recursive)
    if (!length(files))
        stop(simpleError(sprintf('No R files in folder "%s"', folder)))
    src <- invisible(lapply(files, source, ...))
    message(sprintf('%s files sourced from folder "%s"', length(src), folder))
}

因此,如果我的桌面上有一个名为Rfiles的文件夹,我可以使用.r.R扩展名来源所有文件

sourceFolder("./Desktop/Rfiles")
# 6 files sourced from folder "./Desktop/Rfiles"

您可以使用recursive参数来获取子目录中的所有R文件

sourceFolder("yourFolder", recursive = TRUE)