Susceptible Exposed Infected Removed model (SEIR) with mixing
Susceptible Exposed Infected Removed model (SEIR) with mixing
ModelSEIRMixing( name, n, prevalence, contact_rate, transmission_rate, incubation_days, recovery_rate, contact_matrix
)## S3 method for class 'epiworld_seirmixing'plot(x, main = get_name(x),...)
Arguments
name: String. Name of the virus
n: Number of individuals in the population.
prevalence: Double. Initial proportion of individuals with the virus.
contact_rate: Numeric scalar. Average number of contacts per step.
transmission_rate: Numeric scalar between 0 and 1. Probability of transmission.
incubation_days: Numeric scalar. Average number of days in the incubation period.
recovery_rate: Numeric scalar between 0 and 1. Probability of recovery.
contact_matrix: Matrix of contact rates between individuals.
x: Object of class SIRCONN.
main: Title of the plot
...: Currently ignore.
Returns
The ModelSEIRMixingfunction returns a model of class epiworld_model .
The plot function returns a plot of the SEIRMixing model of class epiworld_model .
Details
The contact_matrix is a matrix of contact rates between entities. The matrix should be of size n x n, where n is the number of entities. This is a row-stochastic matrix, i.e., the sum of each row should be 1.
The initial_states function allows the user to set the initial state of the model. In particular, the user can specify how many of the non-infected agents have been removed at the beginning of the simulation.
Examples
# Start off creating three entities.# Individuals will be distribured randomly between the three.e1 <- entity("Population 1",3e3, as_proportion =FALSE)e2 <- entity("Population 2",3e3, as_proportion =FALSE)e3 <- entity("Population 3",3e3, as_proportion =FALSE)# Row-stochastic matrix (rowsums 1)cmatrix <- c( c(0.9,0.05,0.05), c(0.1,0.8,0.1), c(0.1,0.2,0.7))|> matrix(byrow =TRUE, nrow =3)N <-9e3flu_model <- ModelSEIRMixing( name ="Flu", n = N, prevalence =1/ N, contact_rate =20, transmission_rate =0.1, recovery_rate =1/7, incubation_days =7, contact_matrix = cmatrix
)# Adding the entities to the modelflu_model |> add_entity(e1)|> add_entity(e2)|> add_entity(e3)set.seed(331)run(flu_model, ndays =100)summary(flu_model)plot_incidence(flu_model)