simulation_loop | R Documentation |
Run a simulation where event listeners take precedence over processes for state changes.
simulation_loop(
variables = list(),
events = list(),
processes = list(),
timesteps,
state = NULL,
restore_random_state = FALSE
)
variables |
a list of Variables |
events |
a list of Events |
processes |
a list of processes to execute on each timestep |
timesteps |
the end timestep of the simulation. If |
state |
a checkpoint from which to resume the simulation |
restore_random_state |
if TRUE, restore R's global random number generator's state from the checkpoint. |
Invisibly, the saved state at the end of the simulation, suitable for later resuming.
population <- 4
timesteps <- 5
state <- CategoricalVariable$new(c('S', 'I', 'R'), rep('S', population))
renderer <- Render$new(timesteps)
transition <- function(from, to, rate) {
return(function(t) {
from_state <- state$get_index_of(from)
state$queue_update(
to,
from_state$sample(rate)
)
})
}
processes <- list(
transition('S', 'I', .2),
transition('I', 'R', .1),
transition('R', 'S', .05),
categorical_count_renderer_process(renderer, state, c('S', 'I', 'R'))
)
simulation_loop(variables=list(state), processes=processes, timesteps=timesteps)
renderer$to_dataframe()
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.