Move forward one generation in the branching process
outbreak_step(case_data, offspring, delays, event_probs, interventions)
a data.table
: cases in outbreak so far; initially
generated by outbreak_setup()
a list
with class <ringbp_offspring_opts>
: the
offspring distribution function
s for the ringbp model, returned
by offspring_opts()
. Contains three elements: community
, isolated
,
and asymptomatic
a list
with class <ringbp_delay_opts>
: the
delay distribution function
s for the ringbp model, returned
by delay_opts()
. Contains two elements: incubation_period
and
onset_to_isolation
a list
with class <ringbp_event_prob_opts>
: the
event probabilities for the ringbp model, returned by
event_prob_opts()
. Contains three elements: asymptomatic
,
presymptomatic_transmission
and symptomatic_ascertained
a list
with class <ringbp_intervention_opts>
:
the intervention settings for the ringbp model, returned by
intervention_opts()
. Contains one element: quarantine
A list
with three elements:
$cases
: a data.table
with case data
$effective_r0
: a numeric
with the effective reproduction number
$cases_in_gen
: a numeric
with the number of new cases in that
generation
offspring <- offspring_opts(
community = \(n) rnbinom(n = n, mu = 2.5, size = 0.16),
isolated = \(n) rnbinom(n = n, mu = 0, size = 1),
asymptomatic = \(n) rnbinom(n = n, mu = 1.25, size = 0.16)
)
delays <- delay_opts(
incubation_period = \(n) rweibull(n = n, shape = 2.32, scale = 6.49),
onset_to_isolation = \(n) rweibull(n = n, shape = 1.65, scale = 4.28)
)
event_probs <- event_prob_opts(
asymptomatic = 0,
presymptomatic_transmission = 0.15,
symptomatic_ascertained = 0
)
interventions <- intervention_opts(quarantine = FALSE)
# generate initial cases
case_data <- outbreak_setup(
initial_cases = 5,
delays = delays,
event_probs = event_probs
)
case_data
#> Index: <asymptomatic>
#> exposure asymptomatic caseid infector isolated missed onset new_cases
#> <num> <lgcl> <int> <num> <lgcl> <lgcl> <num> <lgcl>
#> 1: 0 FALSE 1 0 FALSE TRUE 5.388645 NA
#> 2: 0 FALSE 2 0 FALSE TRUE 3.260320 NA
#> 3: 0 FALSE 3 0 FALSE TRUE 12.919082 NA
#> 4: 0 FALSE 4 0 FALSE TRUE 6.080151 NA
#> 5: 0 FALSE 5 0 FALSE TRUE 3.669456 NA
#> isolated_time
#> <num>
#> 1: 8.854622
#> 2: 11.988717
#> 3: 21.825460
#> 4: 6.251773
#> 5: 5.438428
# generate next generation of cases
out <- outbreak_step(
case_data = case_data,
offspring = offspring,
delays = delays,
event_probs = event_probs,
interventions = interventions
)
case_data <- out[[1]]
case_data
#> exposure asymptomatic caseid infector isolated missed onset new_cases
#> <num> <lgcl> <int> <num> <lgcl> <lgcl> <num> <num>
#> 1: 0.000000 FALSE 1 0 TRUE TRUE 5.388645 0
#> 2: 0.000000 FALSE 2 0 TRUE TRUE 3.260320 0
#> 3: 0.000000 FALSE 3 0 TRUE TRUE 12.919082 1
#> 4: 0.000000 FALSE 4 0 TRUE TRUE 6.080151 0
#> 5: 0.000000 FALSE 5 0 TRUE TRUE 3.669456 1
#> 6: 12.554511 FALSE 6 3 FALSE TRUE 18.124106 NA
#> 7: 4.489831 FALSE 7 5 FALSE TRUE 7.724711 NA
#> isolated_time
#> <num>
#> 1: 8.854622
#> 2: 11.988717
#> 3: 21.825460
#> 4: 6.251773
#> 5: 5.438428
#> 6: 23.208225
#> 7: 8.588712