R/simulate_idsurveillance_ode.R
simulate_idsurveillance_ode.Rd
This model allows for the exploration of the impact of ID surveillance on transmission dynamics
simulate_idsurveillance_ode(
S = 1000,
P = 1,
tmax = 200,
bP = 0,
bA = 0,
bI = 0.001,
gP = 0.5,
f = 0,
d = 0,
w = 0,
m = 0,
n = 0,
rP = 0,
rA = 0,
rI = 0.5
)
: initial number of susceptible hosts : numeric
: initial number of infected pre-symptomatic hosts : numeric
: maximum simulation time : numeric
: rate of transmission from presymptomatic to susceptible host : numeric
: rate of transmission from asymptomatic to susceptible host : numeric
: rate of transmission from symptomatic to susceptible host : numeric
: the rate at which presymptomatic hosts move to the next stage : numeric
: fraction of asymptomatic hosts : numeric
: rate at which infected hosts die : numeric
: the rate at which host immunity wanes : numeric
: the rate of births : numeric
: the rate of natural deaths : numeric
: rate of pre-symptomatic host removal due to surveillance : numeric
: rate of asymptomatic host removal due to surveillance : numeric
: rate of symptomatic host removal due to surveillance : numeric
This function returns the simulation result as obtained from a call to the deSolve ode solver.
A compartmental ID model with several states/compartments is simulated as a set of ordinary differential equations. The function returns the output from the odesolver as a matrix, with one column per compartment/variable. The first column is time.
This function does not perform any error checking. So if you try to do something nonsensical (e.g. negative values or fractions > 1), the code will likely abort with an error message.
The UI of the app 'Parasite Model', which is part of the DSAIDE package, contains more details.
# To run the simulation with default parameters just call the function:
result <- simulate_idsurveillance_ode()
# To choose parameter values other than the standard one,
# specify the parameters you want to change, e.g. like such:
result <- simulate_idsurveillance_ode(S = 2000, tmax = 100, f = 0.5)
# You should then use the simulation result returned from the function, like this:
plot(result$ts[ , "time"],result$ts[ , "S"],xlab='Time',ylab='Number Susceptible',type='l')