
Run a grid of trial ensembles with parameter metadata
run_trials.Rd
Runs trial ensembles across a parameter grid. All scalar and function-valued parameters used in model construction or trial dynamics are included in metadata for transparency.
Usage
run_trials(
model_generator,
n_trials_per_param = 10,
stop = 10,
.progress = TRUE,
syncfile = NULL,
overwrite = FALSE,
...
)
Arguments
- model_generator
Function that returns a new AgentBasedModel instance according to model_parameters, a named list of parameter label-value pairs.
- n_trials_per_param
Number of trials per parameter combination.
- stop
Stopping condition (number or function).
- .progress
Whether to show progressbar when running the trials.
- ...
List of parameter label-value pairs; vector or singleton values.
Examples
agents = c(Agent$new(1), Agent$new(2))
mod_gen <- function(mparam_list) {
return (
make_abm(
make_model_parameters(
# The first three positional ModelParameters fields go first.
success_biased_learning_strategy, graph,
# Then any auxiliary label-value pairs may be flexibly added here.
adaptive_fitness = mparam_list$adaptive_fitness
),
agents = agents
)
)
}
# Run 2 trials per parameter setting, stopping after 10 time steps.
trials <- run_trials(mod_gen, n_trials_per_param = 2, stop = 10,
learning_strategy = success_bias_learning_strategy,
adaptive_fitness = c(0.8, 1.0, 1.2)
) # With this we'll have six total trials, two for each adaptive_fitness.
#> Error in tidyr::crossing(!!!model_parameters): `..1` must be a vector, not a <LearningStrategy/R6> object.