在R中递归地合并或合并两个列表

时间:2017-07-09 04:09:49

标签: r list

我有两个清单:

firstList <- list(a = list(a_1 = 1:5,
                           a_2 = 5:10),
                  b = 10,
                  c = list(c_1 = 10:20,
                           c_2 = 20:30))

secondList <- list(b = 9999,
                   c = list(c_2 = 500:505))

我想知道一个优雅的功能(几行代码,没有循环),如:

thirdList <- awesomeFx(firstList, secondList)

给我:

$a
$a$a_1
[1] 1 2 3 4 5

$a$a_2
[1]  5  6  7  8  9 10


$b
[1] 9999

$c
$c$c_1
 [1] 10 11 12 13 14 15 16 17 18 19 20

$c$c_2
 [1] 500 501 502 503 504 505

换句话说,一个递归替换两个列表中的元素的函数(某种方式)。

1 个答案:

答案 0 :(得分:2)

modifyList(firstList, secondList)

$a
$a$a_1
[1] 1 2 3 4 5

$a$a_2
[1]  5  6  7  8  9 10


$b
[1] 9999

$c
$c$c_1
 [1] 10 11 12 13 14 15 16 17 18 19 20

$c$c_2
[1] 500 501 502 503 504 505