2
这个Question询问在当前目录中列出目录(不是文件)。我在其中一个答案的评论中指出,我们不能使用dir
和list.files
等函数的recursive
参数递归列出当前目录中的目录。如何使用Recall()`写递归函数递归列出给定目录中的目录?
对此的一个明显的解决方案是编写一个递归函数,该函数列出当前目录中的目录,并在每个目录上依次调用自身,依此类推,添加到在递归结束。
Recall()
函数似乎是理想的候选人,但我从来没有真正了解到如何编写一个递归函数,每次调用都会添加到最终输出中。
一个会如何修改这个功能:
list.dirs <- function(path) {
x <- dir(path, full.names = TRUE)
dnames <- x[file_test("-d", x)]
dnames
}
把它向下递归通过目录中dnames
将发现到dnames
目录中找到的所有目录的列表中的任何目录,等等.. 。?
我觉得我的主要问题不是真的在想如何编写一个函数来使用自己的Recall函数? – 2011-01-20 18:16:08
要在递归函数中使用Recall,请调用Recall而不是函数的名称。 – hadley 2011-01-20 21:03:56