| modifyList {utils} | R Documentation | 
Recursively Modify Elements of a List
Description
Modifies a possibly nested list recursively by changing a subset of elements at each level to match a second list.
Usage
modifyList(x, val, keep.null = FALSE)
Arguments
x | 
 A named   | 
val | 
 A named list with components to replace corresponding
components in   | 
keep.null | 
  If   | 
Value
A modified version of x, with the modifications determined as
follows (here, list elements are identified by their names).  Elements
in val which are missing from x are added to x.
For elements that are common to both but are not both lists
themselves, the component in x is replaced (or possibly
deleted, depending on the value of keep.null) by the one in
val.  For common elements that are in both lists, x[[name]]
is replaced by modifyList(x[[name]], val[[name]]).
Author(s)
Deepayan Sarkar Deepayan.Sarkar@R-project.org
Examples
foo <- list(a = 1, b = list(c = "a", d = FALSE))
bar <- modifyList(foo, list(e = 2, b = list(d = TRUE)))
str(foo)
str(bar)