【发布时间】:2018-06-18 17:59:14
【问题描述】:
我想检查两个嵌套列表是否在最后一级具有相同的名称。
如果unlist 提供了不连接名称的选项,这将是微不足道的。但是,看起来我需要一些功能leaf.names():
X <- list(list(a = pi, b = list(alpha.c = 1:5, 7.12)), d = "a test")
leaf.names(X)
[1] "a" "alpha.c" "NA" "d"
如果可能的话,我想避免任何不雅的 grepping。我觉得应该有一些简单的方法可以使用rapply 或unlist...
【问题讨论】:
-
看起来
reshape2::melt(X)可能是最简单的 -
可能是
d=reshape2::melt(X); apply( unique(d[,-1]), 1, function(row) row[which(!is.na(row))[1]]),但不是很优雅 -
有人知道简单的基本 R 答案吗?