getR0 | R Documentation |
Function to compute the basic R0 given a set of parameters.
getR0( infPeriodSpec = c("exp", "PS", "IDD"), beta, X, N, infExpParams = NULL, infPSParams = NULL, infIDDParams = NULL )
infPeriodSpec |
A character indicating which model for the infectious period will be used. |
beta |
vector with elements for each column of |
X |
The design matrix corresponding to the intensity process over epidemic time. |
N |
Integer, population size. |
infExpParams |
A list giving parameters specific to the exponentially distributed infectious period. See details for specifics. |
infPSParams |
A list giving parameters specific to the path-specific distributed infectious period. See details for specifics. |
infIDDParams |
A list giving parameters specific to the infectious duration-dependent infectious period. See details for specifics. |
getR0
computes the basic reproductive number which may change
over epidemic time due to an intervention. Reproductive numbers can be calculated
under three specifications of the infectious period: the exponential distribution,
the path-specific (PS) approach of Porter and Oleson (2013),
or the infectious-duration dependent (IDD) formulation of Ward et al. (upcoming).
infPeriodSpec
determines which model will be used to simulate the epidemic.
Model specific parameter values are entered using either infExpParams
,
infPSParams
, or infIDDParams
.
All models use the beta
parameter vector associated with each column of the
matrix X
to describe transmission over epidemic time. All models
assume exponentially distributed time spent in the latent period with rate
parameter, rateE
.
For the exponential model infPeriodSpec = 'exp'
, only one additional
parameter needs to be specified in infExpParams
: rateI
, which is
the rate parameter associated with the removal probability.
For the path-specific model infPeriodSpec = 'PS'
, infPSParams
should contain three elements: dist
, maxInf
, and psParams
.
dist
gives the distribution used to describe the length of time spent
in the infectious period Currently only the exponential ("exp"
),
gamma ("gamma"
), and Weibull ("weibull"
) distributions are supported.
maxInf
corresponds to the maximum length of time an individual can
spend in the infectious compartment, at which point the removal probability
becomes 1. psParams
must provide a list of parameter values for the parameters
associated with the chosen distribution. For dist = 'gamma'
, these are
the shape
and rate
parameters and for dist = 'weibull'
,
these are the shape
and scale
parameters.
For the infectious-duration dependent model infPeriodSpec = 'IDD'
,
infIDDParams
should contain three elements: maxInf
, iddFun
,
and iddParams
. maxInf
corresponds to the total length of time
each individual spends in the infectious compartment. iddFun
gives
the IDD function used to describe the IDD curve. iddParams
must provide
a list of parameter values for the parameters associated with the chosen iddFun
.
For example, if iddFun = dgammaIDD
, these are the shape
and
rate
parameters.
A vector with the value of the basic reproductive number R0(t) over the epidemic
Porter, Aaron T., and Jacob J. Oleson. "A path-specific SEIR model for use with general latent and infectious time distributions." Biometrics
# simulate epidemic over 100 days tau <- 100 # specify the design matrix so there is a change point in transmission at time 50 X <- cbind(1, c(rep(0, 49), rep(1, tau - 49))) # simulate using exponentially distributed infectious period datExp <- simSEIR(S0 = 999, E0 = 0, I0 = 1, N = 1000, tau = tau, beta = c(0.1, -2), X = X, rateE = 0.1, infPeriodSpec = 'exp', infExpParams = list(rateI = 0.2)) # plot incidence curve plot(datExp$Istar, type = 'l', main = 'Incidence', xlab = 'Epidemic Time', ylab = 'Count') # get reproductive number over time getR0(infPeriodSpec = 'exp', beta = c(0.1, -2), X = X, N = 1000, infExpParams = list(rateI = 0.2)) # simulate using IDD infectious period using the gamma PDF datIDD <- simSEIR(S0 = 999, E0 = 0, I0 = 1, N = 1000, tau = tau, beta = c(0.7, -1.5), X = X, rateE = 0.1, infPeriodSpec = 'IDD', infIDDParams = list(maxInf = 14, iddFun = dgammaIDD, iddParams = list(shape = 4, rate = 1))) # plot incidence curve plot(datIDD$Istar, type = 'l', main = 'Incidence', xlab = 'Epidemic Time', ylab = 'Count') # get reproductive number over time getR0(infPeriodSpec = 'IDD', beta = c(0.7, -1.5), X = X, N = 1000, infIDDParams = list(maxInf = 14, iddFun = dgammaIDD, iddParams = list(shape = 4, rate = 1)))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.