You can use a simple recursive function like
sourceRecursive <- function(path = ".") { dirs <- list.dirs(path, recursive = FALSE) files <- list.files(path, pattern = "^.*[Rr]$", include.dirs = FALSE, full.names = TRUE) for (f in files) source(f) for (d in dirs) sourceRecursive(d) }
source share