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()
Run the code above in your browser using DataLab