r – 通过索引组合列表的元素

考虑以下列表:

lst = list(list(c(1,2), c(3,4)),list(c(5,6), c(7,8)),list(c(9,10), c(11,12)))

列表lst包含三个列表,每个列表包含两个向量作为元素.我想通过索引组合底层列表的元素.换句话说,我想将列表1中的向量1与列表2和列表3的向量1和列表1中的向量2与列表2和列表3的向量2合并…

这是我想要实现的结果:

res = list(c(1,2,5,6,9,10), c(3,4,7,8,11,12))

我知道这可以在两个单独的列表的情况下实现如下:

mapply(c, lst1, lst2)

但是,我不知道如何使用列表列表复制相同的逻辑.

任何有效的方式来实现呢?请记住,实际上,lst是5000个列表的列表,每个底层列表包含大量的向量.

谢谢!

最佳答案
你可以做:

do.call(Map, c(c, lst))

转载注明原文:r – 通过索引组合列表的元素 - 代码日志