我有一个包含矢量的列表列表。它可以用
生成test <- lapply(1:10, function(x){
list(a=sample(1:5,5),b=sample(1:5,5),c=sample(1:10,5))
})
我现在有 10 个包含 a、b 和 c 的列表列表。我想将所有 a、b 和 c 加在一起,所以我最终得到一个包含 a、b 和 c 的列表。我如何有效地做到这一点?我的真实数据要大得多,我希望加快速度。我想要看起来像这样的东西。请注意此处的数字不正确。
最佳答案
我们可以通过 +
transpose
list
和reduce
library(purrr)
library(dplyr)
transpose(test) %>%
map(reduce, `+`)
#$a
#[1] 35 19 30 33 33
#$b
#[1] 30 27 29 35 29
#$c
#[1] 46 53 59 67 62
注意:没有 set.seed
。因此,结果可能会有所不同
关于列表列表中的R求和向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60081500/