【发布时间】:2021-09-22 02:37:39
【问题描述】:
我想弄清楚如何根据特定条件展平嵌套列表。这是一个示例列表 -
example_list <- list(list1 = list(data = mtcars, char = c("a","b")),
num = c(1:3),
mat = matrix(1:10),
list2 = list(c = "c",d = "d"),
list3 = list(1, 2))
如果 (1) 元素的类不是 data.frame/matrix/character/numeric 或 (2) 如果元素的名称不是“list2”,我想展平此列表的元素。因此,展平列表应包含以下元素 - data、char、num、mat、list2、1、2。
预期的输出应该是 -
output <- list(data = mtcars,
char = c("a","b"),
num = c(1:3),
mat = matrix(1:10),
list2 = list(c = "c", d = "d"),
1,2)
P.S.:如果有一个基于 rrapply 的解决方案来解决这个问题,那就太好了。
谢谢!
【问题讨论】:
-
我有点不清楚
list1这个名字在output中的来历,会不会是list1和list2这两个名字混淆了? -
@JorisC。确实。那是一个错字。我已经编辑了问题。