【发布时间】:2021-05-30 13:06:25
【问题描述】:
我正在尝试添加一个整数向量的元素,这些元素嵌套在一个两级列表中。
我想出了这个解决方案,但我认为它有点不常见,所以我正在寻找另一种替代方案:
df <- tibble(
a = list(list(c(1, 2), c(3, 4)), list(c(1, 2), c(3, 4)))
)
df %>%
mutate(
b = a %>% modify_depth(2, sum) %>% map(unlist)
)
它给出了正确的解决方案。但我希望更多地使用map 解决方案而不是modify。
# A tibble: 2 x 2
a b
<list> <list>
1 <list [2]> <dbl [2]>
2 <list [2]> <dbl [2]>
查看模式下的解决方案:
【问题讨论】:
-
有
map_depth -
map不适用于嵌套列表。 -
我建议使用
rrapply,因为它适用于任何深度rrapply::rrapply(df$a, f = function(x) sum(x)) -
你会说唯一的解决方案是
*_depth吗? (只有咕噜声) -
因为
map在循环列表中的作用类似于lapply。如果列表是嵌套的,则需要嵌套映射,这基本上是_depth所做的。
标签: r list dictionary tidyverse