gpt4 book ai didi

R递归获取任意深度嵌套列表的第一个元素的名称

转载 作者:行者123 更新时间:2023-12-05 05:37:42 25 4
gpt4 key购买 nike

我知道有很多相关的帖子,但我发现没有一个能解决我的问题。情况如下:我正在使用 shinyTree 包,当我选择一个节点时,它的结构如下

List of 1
$ :List of 1
..$ ParentA:List of 1
.. ..$ ParentB:List of 1
.. .. ..$ ParentC: num 0

这可以重现:

mynode = list(list(ParentA=list(ParentB=list(ParentC=0)))

我想从中获得嵌套列表名称的向量

c("ParentA", "ParentB", "ParentC")

我试过使用像这样的递归函数

recursive <- function(x){
if(is.list(x)) recursive(x[[1]])
names(x[[1]])
}

使用 lapply 但它没有用...我不知道该尝试什么...有人可以帮忙吗??

提前致谢

最佳答案

试试这个

strsplit(names(unlist(mynode)) , "\\.")[[1]]
  • 输出
#> [1] "ParentA" "ParentB" "ParentC"

关于R递归获取任意深度嵌套列表的第一个元素的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73083349/

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