2014-09-25 44 views
0

我有一個關於在不同文件夾中找R腳本的問題。假設我在R Studio中創建了一個新項目。該項目文件夾包含幾個文件夾(數據,包含scripots,乳膠文件夾,劇情文件夾等不同的文件夾)。有沒有辦法在這個項目文件夾中自動生成所有R腳本?謝謝不同文件夾中的R腳本源

+0

因此,不只是在'R /'目錄內,你的意思是? – 2014-09-25 18:24:50

+0

@DavidRobinson完全不只是在文件夾中。有不同的子文件夾中包含 – math 2014-09-25 18:49:00

回答

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) 
+0

如果在'list.files'中將'recursive'設置爲'TRUE',則可以在文件夾的所有子文件夾中列出具有'pattern'的所有文件。 – aosmith 2014-09-25 19:07:54

+0

@aosmith - 謝謝!我做了一個編輯。完全忘記了'list.files'有一個遞歸參數 – 2014-09-25 19:12:24

相關問題