我将此树实现为嵌套列表:
tree[[2]]
如何提取树的级别,在此示例中
第1级:[1] 第二级:[2,3] 第3级:[4,5]
2
是第一级,这很容易。
但c(tree[[2]], tree[[3]][1])
仅为master
。
所以第二级是git add
如何将此概括为任何表示为嵌套列表的树结构?
答案 0 :(得分:1)
使用普通base
R,您可以使用递归函数执行此操作(只要您的tree
不太大)。例如:
getElems <- function(tree, depth, level) {
if (depth == level) {
if (is.list(tree))
tree[[1]]
} else {
sapply(tree, getElems, depth = depth + 1, level = level)
}
}
# first level
unlist(getElems(tree, 1, 1))
# second level (always starting the search from depth = 1)
unlist(getElems(tree, 1, 2))
# third level
unlist(getElems(tree, 1, 3))