Occurrence of Invasive Meningococcal Disease in Germany
imdepi.Rd
imdepi
contains data on the spatio-temporal location of 636
cases of invasive meningococcal disease (IMD) caused by the two most
common meningococcal finetypes in Germany, B:P1.7-2,4:F1-5 (of
serogroup B) and C:P1.5,2:F3-3 (of serogroup C).
Usage
data("imdepi")
Format
imdepi
is an object of class
"epidataCS"
(a list with components events
,
stgrid
, W
and qmatrix
).
Details
The imdepi
data is a simplified version of what has been
analyzed by Meyer et al. (2012). Simplification is with respect to the
temporal resolution of the stgrid
(see below) to be used in
twinstim
's endemic model component.
In what follows, we describe the elements events
,
stgrid
, W
, and qmatrix
of imdepi
in
greater detail.
imdepi$events
is a "SpatialPointsDataFrame"
object (ETRS89 projection, i.e. EPSG code 3035, with unit ‘km’)
containing 636 events, each with the following entries:
- time:
Time of the case occurrence measured in number of days since origin. Note that a U(0,1)-distributed random number has been subtracted from each of the original event times (days) to break ties (using
untie(imdepi_tied, amount=list(t=1))
).- tile:
Tile ID in the spatio-temporal grid (
stgrid
) of endemic covariates, where the event is contained in. This corresponds to one of the 413 districts of Germany.- type:
Event type, a factor with levels
"B"
and"C"
.- eps.t:
Maximum temporal interaction range for the event. Here set to 30 days.
- eps.s:
Maximum spatial interaction range for the event. Here set to 200 km.
- sex:
Sex of the case, i.e. a factor with levels
"female"
and"male"
. Note: for some cases this information is not available (NA
).- agegrp:
Factor giving the age group of the case, i.e. 0-2, 3-18 or >=19. Note: for one case this information is not available (
NA
).- BLOCK, start:
Block ID and start time (in days since origin) of the cell in the spatio-temporal endemic covariate grid, which the event belongs to.
- popdensity:
Population density (per square km) at the location of the event (corresponds to population density of the district where the event is located).
There are further auxiliary columns attached to the events' data
the names of which begin with a . (dot): These are created during
conversion to the "epidataCS"
class and are necessary for
fitting the data with twinstim
, see the description of the
"epidataCS"
-class.
With coordinates(imdepi$events)
one obtains the (x,y) locations
of the events.
The district identifier in tile
is indexed according to
the German official municipality key (
“Amtlicher Gemeindeschlüssel”). See
https://de.wikipedia.org/wiki/Amtlicher_Gemeindeschl%C3%BCssel
for details.
The data component stgrid
contains the spatio-temporal grid of
endemic covariate information. In addition to the usual bookkeeping
variables this includes:
- area:
Area of the district
tile
in square kilometers.- popdensity:
Population density (inhabitants per square kilometer) computed from DESTATIS (Federal Statistical Office) information (Date: 31.12.2008) on communities level (LAU2) aggregated to district level (NUTS3).
We have actually not included any time-dependent covariates here, we just established this grid with a (reduced -> fast) temporal resolution of monthly intervals so that we can model endemic time trends and seasonality (in this discretized time).
The entry W
contains the observation window as a
"SpatialPolygons"
object, in this case the
boundaries of Germany (stateD
). It was obtained as the
“UnaryUnion” of Germany's districts (districtsD
) as at
2009-01-01, simplified by the “modified Visvalingam” algorithm
(level 6.6%) available at https://MapShaper.org (v. 0.1.17).
The objects districtsD
and stateD
are contained in
system.file("shapes", "districtsD.RData", package="surveillance")
.
The entry qmatrix
is a \(2\times 2\) identity matrix
indicating that no transmission between the two finetypes can occur.
Source
IMD case reports: German Reference Centre for Meningococci at the Department of Hygiene and Microbiology, Julius-Maximilians-Universität Würzburg, Germany (https://www.hygiene.uni-wuerzburg.de/meningococcus/). Thanks to Dr. Johannes Elias and Prof. Dr. Ulrich Vogel for providing the data.
Shapefile of Germany's districts as at 2009-01-01: German Federal Agency for Cartography and Geodesy, Frankfurt am Main, Germany, https://gdz.bkg.bund.de/.
References
Meyer, S., Elias, J. and Höhle, M. (2012): A space-time conditional intensity model for invasive meningococcal disease occurrence. Biometrics, 68, 607-616. doi:10.1111/j.1541-0420.2011.01684.x
Examples
data("imdepi")
# Basic information
print(imdepi, n=5, digits=2)
# What is an epidataCS-object?
str(imdepi, max.level=4)
names(imdepi$events@data)
# => events data.frame has hidden columns
sapply(imdepi$events@data, class)
# marks and print methods ignore these auxiliary columns
# look at the B type only
imdepiB <- subset(imdepi, type == "B")
#<- subsetting applies to the 'events' component
imdepiB
# select only the last 10 events
tail(imdepi, n=10) # there is also a corresponding 'head' method
# Access event marks
str(marks(imdepi))
# there is an update-method which assures that the object remains valid
# when changing parameters like eps.s, eps.t or qmatrix
update(imdepi, eps.t = 20)
# Summary
s <- summary(imdepi)
s
str(s)
# Step function of number of infectives
plot(s$counter, xlab = "Time [days]",
ylab = "Number of infectious individuals",
main = "Time series of IMD assuming 30 days infectious period")
# distribution of number of potential sources of infection
opar <- par(mfrow=c(1,2), las=1)
for (type in c("B","C")) {
plot(100*prop.table(table(s$nSources[s$eventTypes==type])),
xlim=range(s$nSources), xlab = "Number of potential epidemic sources",
ylab = "Proportion of events [%]")
}
par(opar)
# a histogram of the number of events along time (using the
# plot-method for the epidataCS-class, see ?plot.epidataCS)
opar <- par(mfrow = c(2,1))
plot(imdepi, "time", subset = type == "B", main = "Finetype B")
plot(imdepi, "time", subset = type == "C", main = "Finetype C")
par(opar)
# Plot the spatial distribution of the events in W
plot(imdepi, "space", points.args = list(col=c("indianred", "darkblue")))
# or manually (no legends, no account for tied locations)
plot(imdepi$W, lwd=2, asp=1)
plot(imdepi$events, pch=c(3,4)[imdepi$events$type], cex=0.8,
col=c("indianred", "darkblue")[imdepi$events$type], add=TRUE)
if (FALSE) { # \dontrun{
# Show a dynamic illustration of the spatio-temporal dynamics of the
# spread during the first year of type B with a step size of 7 days
animate(imdepiB, interval=c(0,365), time.spacing=7, sleep=0.1)
} # }