
Last chance! 50% off unlimited learning
Sale ends in
Modifies a possibly nested list recursively by changing a subset of elements at each level to match a second list.
modifyList(x, val, keep.null = FALSE)
A named list
, possibly empty.
A named list with components to replace corresponding
components in x
.
If TRUE
, NULL
elements in val
become NULL
elements in x
. Otherwise, the
corresponding element, if present, is deleted from x
.
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]])
.
# NOT RUN {
foo <- list(a = 1, b = list(c = "a", d = FALSE))
bar <- modifyList(foo, list(e = 2, b = list(d = TRUE)))
str(foo)
str(bar)
# }
Run the code above in your browser using DataLab