An alternative interface for do.call(), similar to the deprecated function in purrr. This function tries hard to not evaluate the passed arguments too eagerly which is important when working with large R objects.

It is recommended to pass all arguments named in order to to not rely on on positional argument matching.

invoke(.f, ..., .args = list(), .opts = list(), .seed = NA_integer_)

Arguments

.f

:: function()
Function to call.

...

:: any
Additional function arguments passed to .f.

.args

:: list()
Additional function arguments passed to .f, as (named) list(). These arguments will be concatenated to the arguments provided via ....

.opts

:: list()
List of options which are set before the .f is called. Options are reset to their previous state afterwards.

.seed

:: integer(1)
Random seed to set before invoking the function call. Gets reset to the previous seed on exit.

Examples

invoke(mean, .args = list(x = 1:10))
#> [1] 5.5
invoke(mean, na.rm = TRUE, .args = list(1:10))
#> [1] 5.5