Dataset containing 466,692 scheduled events for a population of 1,600 cattle herds over 1,460 days (4 years). Demonstrates how demographic and movement events affect SIR dynamics in a cattle disease context.
Value
A data.frame with columns:
- event
Event type: "exit", "enter", or "extTrans".
- time
Day when event occurs (1-1460).
- node
Affected herd identifier (1-1600).
- dest
Destination herd for external transfer events.
- n
Number of cattle affected.
- proportion
0. Not used in this example.
- select
Model compartment to affect (see
SimInf_events).- shift
0. Not used in this example.
Details
The event data contains three types of scheduled events that affect cattle herds (nodes):
- Exit
Deaths or removal of cattle from a herd (n = 182,535). These events decrease the population and remove cattle from the disease system.
- Enter
Births or introduction of cattle to a herd (n = 182,685). These events add susceptible cattle to herds, increasing potential targets for infection.
- External transfer
Movement of cattle between herds (n = 101,472). These events transfer cattle from one herd to another, potentially spreading disease across the herd network.
The select column in the returned data frame is mapped to
the columns of the internal select matrix (select_matrix_SIR):
select = 1corresponds to Enter events, targeting the Susceptible (S) compartment.select = 4corresponds to Exit and External Transfer events, targeting all compartments (S, I, and R).
Events are distributed across all 1,600 herds over the 4-year period, reflecting realistic patterns of cattle demographic change and herd-to-herd movement in a livestock production system.
See also
u0_SIR for the corresponding initial cattle
population, SIR for creating SIR models with these
events, and SimInf_events for event structure
details
Examples
## For reproducibility, call the set.seed() function and specify the
## number of threads to use. To use all available threads, remove the
## set_num_threads() call.
set.seed(123)
set_num_threads(1)
## Create an 'SIR' model with 1600 cattle herds (nodes) and initialize
## it to run over 4*365 days. Add one infected animal to the first
## herd to seed the outbreak. Define 'tspan' to record the state of
## the system at daily time-points. Load scheduled events for the
## population of nodes with births, deaths and between-node movements
## of individuals.
u0 <- u0_SIR()
u0$I[1] <- 1
model <- SIR(u0 = u0,
tspan = seq(from = 1, to = 4*365, by = 1),
events = events_SIR(),
beta = 0.16,
gamma = 0.01)
## Display the number of cattle affected by each event type per day.
plot(events(model))
## Run the model to generate a single stochastic trajectory.
result <- run(model)
## Plot the median and interquartile range of the number of
## susceptible, infected and recovered individuals.
plot(result)
## Plot the trajectory for the first herd.
plot(result, index = 1)
## Summarize the trajectory. The summary includes the number of events
## by event type.
summary(result)
#> Model: SIR
#> Number of nodes: 1600
#>
#> Transitions
#> -----------
#> S -> beta*S*I/(S+I+R) -> I
#> I -> gamma*I -> R
#>
#> Global data
#> -----------
#> Number of parameters without a name: 0
#> - None
#>
#> Local data
#> ----------
#> Parameter Value
#> beta 0.16
#> gamma 0.01
#>
#> Scheduled events
#> ----------------
#> Exit: 182535
#> Enter: 182685
#> Internal transfer: 0
#> External transfer: 101472
#>
#> Network summary
#> ---------------
#> Min. 1st Qu. Median Mean 3rd Qu. Max.
#> Indegree: 40.0 57.0 62.0 62.1 68.0 90.0
#> Outdegree: 36.0 57.0 62.0 62.1 67.0 89.0
#>
#> Compartments
#> ------------
#> Min. 1st Qu. Median Mean 3rd Qu. Max.
#> S 0.0 5.0 13.0 55.6 112.0 219.0
#> I 0.0 0.0 4.0 10.9 11.0 168.0
#> R 0.0 0.0 62.0 58.0 105.0 221.0