gpt4 book ai didi

r - 列表文件递归到R中的某个级别

转载 作者:行者123 更新时间:2023-12-04 01:59:32 25 4
gpt4 key购买 nike

有没有一种优雅的方式来列出递归到某个级别的文件?
我有一个非常复杂的文件夹结构,搜索所有 xml 需要几秒钟。递归文件。对我来说,只搜索到某个级别就足够了,但是我开发的代码看起来很难看,我想知道是否有更优雅的方法。例如,搜索到第 4 级会变得很难看......

list.files(c(list.dirs(recursive=FALSE), # first level
list.dirs(list.dirs(recursive=FALSE), recursive=FALSE)), # second level
pattern='\\.xml$',
full.names=TRUE,
recursive=FALSE)

最佳答案

为了优雅,我会编写一个带有 n 的小型递归实用程序。之后可以使用的参数。例如。就像是:

list.dirs.depth.n <- function(p, n) {
res <- list.dirs(p, recursive = FALSE)
if (n > 1) {
add <- list.dirs.depth.n(res, n-1)
c(res, add)
} else {
res
}
}

list.dirs.depth.n(".", n = 3)

然后在调用 list.files 时使用它

关于r - 列表文件递归到R中的某个级别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48297440/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com