These functions work exactly the same as purrr::invoke_map() functions, but
allow you to invoke in parallel.
Usage
future_invoke_map(
.f,
.x = list(NULL),
...,
.env = NULL,
.options = furrr_options(),
.env_globals = parent.frame(),
.progress = FALSE
)
future_invoke_map_chr(
.f,
.x = list(NULL),
...,
.env = NULL,
.options = furrr_options(),
.env_globals = parent.frame(),
.progress = FALSE
)
future_invoke_map_dbl(
.f,
.x = list(NULL),
...,
.env = NULL,
.options = furrr_options(),
.env_globals = parent.frame(),
.progress = FALSE
)
future_invoke_map_int(
.f,
.x = list(NULL),
...,
.env = NULL,
.options = furrr_options(),
.env_globals = parent.frame(),
.progress = FALSE
)
future_invoke_map_lgl(
.f,
.x = list(NULL),
...,
.env = NULL,
.options = furrr_options(),
.env_globals = parent.frame(),
.progress = FALSE
)
future_invoke_map_raw(
.f,
.x = list(NULL),
...,
.env = NULL,
.options = furrr_options(),
.env_globals = parent.frame(),
.progress = FALSE
)
future_invoke_map_dfr(
.f,
.x = list(NULL),
...,
.env = NULL,
.options = furrr_options(),
.env_globals = parent.frame(),
.progress = FALSE
)
future_invoke_map_dfc(
.f,
.x = list(NULL),
...,
.env = NULL,
.options = furrr_options(),
.env_globals = parent.frame(),
.progress = FALSE
)Arguments
- .f
A list of functions.
- .x
A list of argument-lists the same length as
.f(or length 1). The default argument,list(NULL), will be recycled to the same length as.f, and will call each function with no arguments (apart from any supplied in...).- ...
Additional arguments passed to each function.
- .env
Environment in which
do.call()should evaluate a constructed expression. This only matters if you pass as.fthe name of a function rather than its value, or as.xsymbols of objects rather than their values.- .options
The
futurespecific options to use with the workers. This must be the result from a call tofurrr_options().- .env_globals
The environment to look for globals required by
.xand.... Globals required by.fare looked up in the function environment of.f.- .progress
A single logical. Should a progress bar be displayed? Only works with multisession, multicore, and multiprocess futures. Note that if a multicore/multisession future falls back to sequential, then a progress bar will not be displayed.
Warning: The
.progressargument will be deprecated and removed in a future version of furrr in favor of using the more robust progressr package.
Examples
plan(multisession, workers = 2)
df <- dplyr::tibble(
f = c("runif", "rpois", "rnorm"),
params = list(
list(n = 10),
list(n = 5, lambda = 10),
list(n = 10, mean = -3, sd = 10)
)
)
future_invoke_map(df$f, df$params, .options = furrr_options(seed = 123))
#> [[1]]
#> [1] 0.15523168 0.13489836 0.77349355 0.06467378 0.72312291 0.34779719
#> [7] 0.76720626 0.90894692 0.94261388 0.47246904
#>
#> [[2]]
#> [1] 9 10 9 9 8
#>
#> [[3]]
#> [1] -2.171833 -18.032800 -10.719393 15.365090 9.164918 -4.410979
#> [7] -10.297802 -15.180494 1.718361 -4.452757
#>
# \dontshow{
# Close open connections for R CMD Check
if (!inherits(plan(), "sequential")) plan(sequential)
# }
