twinSIR_intensityplot {surveillance} | R Documentation |
Plotting Paths of Infection Intensities for twinSIR
Models
Description
intensityplot
methods to plot the evolution of the total infection
intensity, its epidemic proportion or its endemic proportion over time.
The default plot
method for objects of class "twinSIR"
is just a wrapper for the intensityplot
method.
The implementation is illustrated in Meyer et al. (2017, Section 4),
see vignette("twinSIR")
.
Usage
## S3 method for class 'twinSIR'
plot(x, which = c("epidemic proportion", "endemic proportion",
"total intensity"), ...)
## S3 method for class 'twinSIR'
intensityplot(x, which = c("epidemic proportion", "endemic proportion",
"total intensity"), aggregate = TRUE, theta = NULL,
plot = TRUE, add = FALSE, rug.opts = list(), ...)
## S3 method for class 'simEpidata'
intensityplot(x, which = c("epidemic proportion", "endemic proportion",
"total intensity"), aggregate = TRUE, theta = NULL,
plot = TRUE, add = FALSE, rug.opts = list(), ...)
Arguments
x |
an object of class |
which |
|
aggregate |
logical. Determines whether lines for all individual infection
intensities should be drawn ( |
theta |
numeric vector of model coefficients. If |
plot |
logical indicating if a plot is desired, defaults to |
add |
logical. If |
rug.opts |
either a list of arguments passed to the function |
... |
For the |
Value
numeric matrix with the first column "stop"
and as many rows as there
are "stop"
time points in the event history x
. The other
columns depend on the argument aggregate
: if TRUE
, there
is only one other column named which
, which contains the values of
which
at the respective "stop"
time points. Otherwise, if
aggregate = FALSE
, there is one column for each individual, each of
them containing the individual which
at the respective "stop"
time points.
Author(s)
Sebastian Meyer
References
Meyer, S., Held, L. and Höhle, M. (2017): Spatio-temporal analysis of epidemic phenomena using the R package surveillance. Journal of Statistical Software, 77 (11), 1-55. doi:10.18637/jss.v077.i11
See Also
twinSIR
for a description of the intensity model, and
simulate.twinSIR
for the simulation of epidemic data
according to a twinSIR
specification.
Examples
data("hagelloch")
plot(hagelloch)
# a simplistic twinSIR model
fit <- twinSIR(~ household, data = hagelloch)
# overall total intensity
plot(fit, which = "total")
# overall epidemic proportion
epi <- plot(fit, which = "epidemic", ylim = c(0, 1))
head(epi)
# add overall endemic proportion = 1 - epidemic proportion
ende <- plot(fit, which = "endemic", add = TRUE, col = 2)
legend("topleft", legend = "endemic proportion", lty = 1, col = 2, bty = "n")
# individual intensities
tmp <- plot(fit, which = "total", aggregate = FALSE,
col = rgb(0, 0, 0, alpha = 0.1),
main = expression("Individual infection intensities " *
lambda[i](t) == Y[i](t) %.% (e[i](t) + h[i](t))))
# return value: matrix of individual intensity paths
str(tmp)
# plot intensity path only for individuals 3 and 99
matplot(x = tmp[,1], y = tmp[,1+c(3,99)], type = "S",
ylab = "Force of infection", xlab = "time",
main = expression("Paths of the infection intensities " *
lambda[3](t) * " and " * lambda[99](t)))
legend("topright", legend = paste("Individual", c(3,99)),
col = 1:2, lty = 1:2)