events
, the class simultaneously
holds a spatio-temporal grid of endemic covariates (similar to
disease mapping) and a representation of the observation region. The "epidataCS"
class is the basis for fitting
spatio-temporal endemic-epidemic intensity models with the function
twinstim
(Meyer et al., 2012).
The implementation is described in Meyer et al. (2016, Section 3).
as.epidataCS(events, stgrid, W, qmatrix = diag(nTypes),
nCircle2Poly = 32L, T = NULL,
clipper = c("polyclip", "rgeos"), verbose = interactive())## S3 method for class 'epidataCS':
print(x, n = 6L, digits = getOption("digits"), ...)
## S3 method for class 'epidataCS':
nobs(object, ...)
## S3 method for class 'epidataCS':
head(x, n = 6L, ...)
## S3 method for class 'epidataCS':
tail(x, n = 6L, ...)
## S3 method for class 'epidataCS':
[(x, i, j, ..., drop = TRUE)
## S3 method for class 'epidataCS':
subset(x, subset, select, drop = TRUE, ...)
## S3 method for class 'epidataCS':
marks(x, coords = TRUE, ...)
## S3 method for class 'epidataCS':
summary(object, ...)
## S3 method for class 'summary.epidataCS':
print(x, ...)
## S3 method for class 'epidataCS':
as.stepfun(x, ...)
"SpatialPointsDataFrame "
of cases with the
following obligatory columns (in the events@data
data.frame
):
[object Object],[object Object],[object Object],[object Object],[objedata.frame
describing endemic covariates on a full
spatio-temporal region x interval grid (e.g., district x week),
which is a decomposition of the observation region W
and
peri"SpatialPolygons "
representing the observation region.
It must have the same proj4string
as events
and all events must be within W
.
The functFALSE
/TRUE
) for possible
transmission between the event types. The matrix will be internally
converted to logical
. Defaults to an independent spread of the event
types, idiscpoly
.stop
time of
stgrid
). Must be specified if the start but not the stop
times are supplied in stgrid
(=> auto-generation of
stop
times)..influenceRegion
s of events (see the Value section below).
Default is the intersect.owin
"epidataCS"
generation. The default
is to do so in interactive Rsessions."epidataCS"
or
"summary.epidataCS"
, respectively.head
, print
)
/ last (tail
) n
events are extracted. If negative,
all but the n
first/last events are extracted.[-method
for
SpatialPointDataFrame
s for subsetting the events
while
retaining stgrid
and W
print
method for "epidataCS"
passes
...
to the print.data.frame
method, and the
events
from
an "epidataCS"
object like in subset.data.frame
.marks(x)
should have the event
coordinates appended as last columns. This defaults to TRUE
."epidataCS"
."epidataCS"
is a list containing the
following components:"SpatialPointsDataFrame "
(see the
description of the argument).
The input events
are checked for requirements and sorted
chronologically. The columns are in the following
order: obligatory event columns, event marks, the columns BLOCK
,
start
and endemic covariates copied from stgrid
,
and finally, hidden auxiliary columns.
The added auxiliary columns are:
[object Object],[object Object],[object Object],[object Object]data.frame
(see description of the argument).
The spatio-temporal grid of endemic covariates is sorted by time
interval (indexed by the added variable BLOCK
) and region
(tile
). It is a full BLOCK
x tile
grid."SpatialPolygons "
object representing
the observation region.storage.mode
of the indicator matrix is set to logical
and the dimnames
are set to the levels of the event types.nobs
-method returns the number of events. The head
and tail
methods subset the epidemic data using
the extraction method ([
), i.e. they return an object of class
"epidataCS"
, which only contains (all but) the first/last
n
events.
For the "epidataCS"
class, the method of the generic function
marks
defined by the data.frame
of the event marks (actually also
including time and location of the events), disregarding endemic
covariates and the auxiliary columns from the events
component
of the "epidataCS"
object.
The summary
method (which has again a print
method)
returns a list of metadata, event data, the tables of tiles and types,
a step function of the number of infectious individuals over time
($counter
), i.e., the result of the
as.stepfun
-method for "epidataCS"
, and the number
of potential sources of transmission for each event ($nSources
)
which is based on the given maximum interaction ranges eps.t
and eps.s
.
as.epidataCS
is used to generate objects of class
"epidataCS"
, which is the data structure required for
twinstim
models. The extraction method for class "epidataCS"
ensures that the subsetted object will be valid, for instance, it
updates the auxiliary list of potential transmission paths stored
in the object. This [
-method is also the basis for the
subset.epidataCS
-method, which is implemented similar to the
subset.data.frame
-method.
The print
method for "epidataCS"
prints some metadata
of the epidemic, e.g., the observation period, the dimensions of the
spatio-temporal grid, the types of events, and the total number of
events. By default, it also prints the first n = 6
rows of the
events
.
Harrower, M. and Bloch, M. (2006):
MapShaper.org: A Map Generalization Web Service.
IEEE Computer Graphics and Applications, 26(4), 22-27.
DOI-Link:
Meyer, S., Elias, J. and H
Meyer, S., Held, L. and H
plot.epidataCS
for plotting, and
animate.epidataCS
for the animation of such an epidemic.
There is also an update
method for the
"epidataCS"
class.
Models for "epidataCS"
can be fitted with twinstim
.
It is also possible to convert the data to epidata
objects (discrete space) for analysis with twinSIR
(see as.epidata.epidataCS
).## load "imdepi" example data (which is an object of class "epidataCS")
data("imdepi")
## print and summary
print(imdepi, n=5, digits=2)
print(s <- summary(imdepi))
plot(s$counter, # same as 'as.stepfun(imdepi)'
xlab = "Time [days]", ylab="Number of infectious individuals",
main=paste("Time course of the number of infectious individuals",
"assuming an infectious period of 30 days", sep=""))
plot(table(s$nSources), xlab="Number of "close" infective individuals",
ylab="Number of events",
main=paste("Distribution of the number of potential sources",
"assuming an interaction range of 200 km and 30 days",
sep=""))
## the summary object contains further information
str(s)
## internal structure of an "epidataCS"-object
str(imdepi, max.level=4)
## see help("imdepi") for more info on the data set
## extraction methods subset the 'events' component
## (thereby taking care of the validity of the epidataCS object,
## for instance the hidden auxiliary column .sources)
imdepi[101:200,]
tail(imdepi, n=4) # reduce the epidemic to the last 4 events
subset(imdepi, type=="B") # only consider event type B
## see help("plot.epidataCS") for convenient plot-methods for "epidataCS"
###
### reconstruct the "imdepi" object from its components
###
## events
events <- marks(imdepi)
coordinates(events) <- c("x", "y") # promote to a "SpatialPointsDataFrame"
proj4string(events) <- proj4string(imdepi$events) # ETRS89 projection
summary(events)
## endemic covariates
head(stgrid <- imdepi$stgrid[,-1])
## (Simplified) observation region (as SpatialPolygons)
load(system.file("shapes", "districtsD.RData", package="surveillance"),
verbose = TRUE)
## plot observation region with events
plot(stateD, axes=TRUE); title(xlab="x [km]", ylab="y [km]")
points(events, pch=unclass(events$type), cex=0.5, col=unclass(events$type))
legend("topright", legend=levels(events$type), title="Type", pch=1:2, col=1:2)
## reconstruct the "imdepi" object from its components
myimdepi <- as.epidataCS(events = events, stgrid = stgrid,
W = stateD, qmatrix = diag(2), nCircle2Poly = 16)
## -> equal to 'imdepi' as long as the internal structures of the embedded
## classes ("owin", "SpatialPolygons", ...), and the calculation of the
## influence regions by "polyclip" do not change:
##all.equal(imdepi, myimdepi, tolerance=1E-6)
Run the code above in your browser using DataLab