2017-07-09 45 views
0

合并递归两个列表我有这两个名单:合并或R中

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) 

给出me:

$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 

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

+0

相关https://stackoverflow.com/questions/34267440/is-it-possible-to-duplicate-and-modify-a-list-in-one-step-in-r – akrun

+0

@akrun是,我希望其他人能够找到这两个问题。 –

回答

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 
+0

完美!这就是我一直在寻找的。 –