首页 > 解决方案 > 将 2 个列表中的元素组合到 R 中的同一子集中

问题描述

我有 2 个列表,每个列表有 2 个子集:

listA
[[1]]
1 2 3 5 14 15 17 20
[[2]]
26 27 29 32 35 40

listB
[[1]]
4 6 7 8 9 10 11 12 13 14 16 18 19 21 22 23 24 25
[[2]]
28 30 31 33 34 36 37 38 39

我需要创建一个新列表,其中包含两个列表中各个子集的组合元素。

我希望得到如下列表:

list_AB
[[1]]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 #Combine [[1]] of listA and listB
[[2]]
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40   #Combine [[2]] of listA and listB

谢谢

标签: r

解决方案


怎么样

mapply(c, listA, listB, SIMPLIFY = FALSE)

如果结果应该被排序而不重复,那么

mapply(function (x, y) sort(unique(c(x, y))), listA, listB, SIMPLIFY = FALSE)

推荐阅读