Description Usage Arguments Value Examples
View source: R/scenario_analysis.R
This function uses parameter permutations produced by
generate_parameter_permutations
to simulate from a supplied model function.
It can be used to examine multiple scenarios, with any number of parameter variations, for multiple samples.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
parameter_df |
A dataframe of parameter permutations as produced by |
variable_params |
A character vector containing the names of the parameters that are varied in |
model |
A model compatible with your |
sim_fn |
A generic simulation function, with the first argument as the model object,
a |
summary_fn |
A function which accepts a single dataframe argument customised to fit with the standard
output of |
cores |
The number of cores to use for the scenario analysis, defaults to 1. |
rerun |
A logical indicating if the function should be rerun or saved results should be loaded.
Defaults to |
verbose |
Logical (defaults to |
by_row |
Logical (defaults to |
test |
A logical (defaults to |
... |
Pass additional arguments to sim_fn. Only implemented when a single core is used. |
A tidy dataframe containing simulated model trajectories for each scenario varied parameter combination. Use 'tidyr::unnest“ to examine all simulation results.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | scenarios <- data.frame(scenario = c("test_1", "test_2"), scenario_param = c(0, 1))
variable_params <- data.frame(variable = c(0, 0.5, 1))
fixed_params <- c(fixed_1 = 2, fixed_2 = c(1, 3, 4))
sample_params <- c(sample_1 = 2, sample_2 = c(2, 1))
parameter_df <- generate_parameter_permutations(variable_params, fixed_params, sample_params,
excluded_params = c("variable"), scenarios,
parameter_samples = 10)
## set up dummy simulation function (returning an empty dataframe)
dummy_sim_fn <- function(object, inits, params, times, as.data.frame) {
x <- tibble::tibble()
return(x)
}
## Set up dummy summary function
dummy_sum_fn <- function(df){
df <- dplyr::mutate(df, summarised_simulations = simulations)
return(df)
}
dummy_model <- function(){}
## Run scenario analysis
scenario_analysis(parameter_df, variable_params = "variable", model = dummy_model,
sim_fn = dummy_sim_fn, cores = 1, summary_fn = dummy_sum_fn)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.