Evaluates a simulation function on each row of a data frame or tibble
containing parameter values. Returns a single tibble with parameters
and simulation results. The function uses furrr::future_pmap
, which
allows for easy parallelization.
evaluate_by_row(
params,
sim_function,
...,
results_name = ".results",
.progress = FALSE,
.options = furrr::furrr_options(),
system_time = TRUE
)
A tibble containing parameter values and simulation results.
data frame or tibble containing simulation parameter values. Each row should represent a separate set of parameter values.
function to be evaluated, with argument names matching
the variable names in params
. The function must return a
data.frame
, tibble
, or vector.
additional arguments passed to sim_function
.
character string to set the name of the column storing the results of the simulation. Default is ".results"
.
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 .progress
argument will be deprecated and removed
in a future version of furrr in favor of using the more robust
progressr
package.
The future
specific options to use with the workers. This
must be the result from a call to furrr_options()
.
logical indicating whether to print computation time.
TRUE
by default.
df <- data.frame(
n = 3:5,
lambda = seq(8, 16, 4)
)
evaluate_by_row(df, rpois)
Run the code above in your browser using DataLab