expand_list {pkgmaker} | R Documentation |
Expanding Lists
Description
expand_list
expands a named list with a given set of default items,
if these are not already in the list, partially matching their names.
Usage
expand_list(x, ..., .exact = TRUE, .names = !.exact)
expand_dots(..., .exclude = NULL)
Arguments
x |
input list |
... |
extra named arguments defining the default items. A list of default values can also be passed as a a single unnamed argument. |
.exact |
logical that indicates if the names in |
.names |
logical that only used when |
.exclude |
optional character vector of argument names to exclude from expansion. |
Value
a list
Functions
-
expand_dots()
: expands the...
arguments of the function in which it is called with default values, usingexpand_list
. It can only be called from inside a function.
Examples
expand_list(list(a=1, b=2), c=3)
expand_list(list(a=1, b=2, c=4), c=3)
# with a list
expand_list(list(a=1, b=2), list(c=3, d=10))
# no partial match
expand_list(list(a=1, b=2, c=5), cd=3)
# partial match with names expanded
expand_list(list(a=1, b=2, c=5), cd=3, .exact=FALSE)
# partial match without expanding names
expand_list(list(a=1, b=2, c=5), cd=3, .exact=FALSE, .names=FALSE)
# works also inside a function to expand a call with default arguments
f <- function(...){
cl <- match.call()
expand_list(cl, list(a=3, b=4), .exact=FALSE)
}
f()
f(c=1)
f(a=2)
f(c=1, a=2)
# expanding dot arguments
f <- function(...){
expand_dots(list(a=2, bcd='a', xxx=20), .exclude='xxx')
}
# add default value for all arguments
f()
# add default value for `bcd` only
f(a=10)
# expand names
f(a=10, b=4)