Skip to contents

Define a function to be passed to the fn_values argument of calibrate_model().

Usage

define_calibration_fn(
  type,
  strategy_names,
  element_names,
  cycles,
  groups = NULL,
  aggreg_fn = sum
)

Arguments

type

Type of model values (count or value).

strategy_names

Names of strategies.

element_names

Names of states (for counts) or of state values (for values).

cycles

Cycles of interest.

groups

Optional grouping of values (values in a same group have the same groups).

aggreg_fn

A function to aggregate values in a same group.

Value

A numeric vector.

Examples

example("run_model")
#> 
#> rn_mdl> # running a single model
#> rn_mdl> 
#> rn_mdl> mod1 <-
#> rn_mdl+   define_strategy(
#> rn_mdl+     transition = define_transition(
#> rn_mdl+       .5, .5,
#> rn_mdl+       .1, .9
#> rn_mdl+     ),
#> rn_mdl+     define_state(
#> rn_mdl+       cost = 543,
#> rn_mdl+       ly = 1
#> rn_mdl+     ),
#> rn_mdl+     define_state(
#> rn_mdl+       cost = 432,
#> rn_mdl+       ly = 1
#> rn_mdl+     )
#> rn_mdl+   )
#> No named state -> generating names.
#> No named state -> generating names.
#> 
#> rn_mdl> res <- run_model(
#> rn_mdl+   mod1,
#> rn_mdl+   init = c(100, 0),
#> rn_mdl+   cycles = 2,
#> rn_mdl+   cost = cost,
#> rn_mdl+   effect = ly
#> rn_mdl+ )
#> No named model -> generating names.
#> 
#> rn_mdl> # running several models
#> rn_mdl> mod2 <-
#> rn_mdl+   define_strategy(
#> rn_mdl+     transition = define_transition(
#> rn_mdl+       .5, .5,
#> rn_mdl+       .1, .9
#> rn_mdl+     ),
#> rn_mdl+     define_state(
#> rn_mdl+       cost = 789,
#> rn_mdl+       ly = 1
#> rn_mdl+     ),
#> rn_mdl+     define_state(
#> rn_mdl+       cost = 456,
#> rn_mdl+       ly = 1
#> rn_mdl+     )
#> rn_mdl+     
#> rn_mdl+   )
#> No named state -> generating names.
#> No named state -> generating names.
#> 
#> rn_mdl> res2 <- run_model(
#> rn_mdl+   mod1, mod2,
#> rn_mdl+   init = c(100, 0),
#> rn_mdl+   cycles = 10,
#> rn_mdl+   cost = cost,
#> rn_mdl+   effect = ly
#> rn_mdl+ )
#> No named model -> generating names.

f <- define_calibration_fn(
  type = c("count", "count", "value"),
  strategy_names = c("I", "I", "II"),
  element_names = c("A", "B", "ly"),
  cycles = c(3, 5, 9),
  groups = c(1, 1, 2),
  aggreg_fn = mean
)