Merge two named list based on their named entries. Where any element matches in both lists, the value from the second list is used in the updated list. Subelements are not examined and are simply replaced. If one list is empty, then it returns the other one, unchanged.

updateList(x, y) # S4 method for list,list updateList(x, y) # S4 method for `NULL`,list updateList(x, y) # S4 method for list,`NULL` updateList(x, y) # S4 method for `NULL`,`NULL` updateList(x, y)

x, y | a named list |
---|

A named list, with elements sorted by name.
The values of matching elements in list `y`

replace the values in list `x`

.

L1 <- list(a = "hst", b = NA_character_, c = 43) L2 <- list(a = "gst", c = 42, d = list(letters)) updateList(L1, L2)#> $a #> [1] "gst" #> #> $b #> [1] NA #> #> $c #> [1] 42 #> #> $d #> $d[[1]] #> [1] "a" "b" "c" "d" "e" "f" "g" "h" "i" "j" "k" "l" "m" "n" "o" "p" "q" "r" "s" #> [20] "t" "u" "v" "w" "x" "y" "z" #> #>updateList(L1, NULL)#> $a #> [1] "hst" #> #> $b #> [1] NA #> #> $c #> [1] 43 #>updateList(NULL, L2)#> $a #> [1] "gst" #> #> $c #> [1] 42 #> #> $d #> $d[[1]] #> [1] "a" "b" "c" "d" "e" "f" "g" "h" "i" "j" "k" "l" "m" "n" "o" "p" "q" "r" "s" #> [20] "t" "u" "v" "w" "x" "y" "z" #> #>updateList(NULL, NULL) # should return empty list#> list()