Skip to contents

In endemic-only twinstim models, the conditional intensity is a piecewise constant function independent from the history of the process. This allows for a much more efficient simulation algorithm than via Ogata's modified thinning as in the general simulate.twinstim method.


simEndemicEvents(object, tiles)



an object of class "twinstim" (with the model component retained; otherwise try object <- update(object, model = TRUE)).


an object inheriting from "SpatialPolygons", which represents the tiles of the original data's stgrid (see, e.g., levels(environment(object)$gridTiles)).


Sebastian Meyer

See also

the general simulation method simulate.twinstim


data("imdepi", "imdepifit")
load(system.file("shapes", "districtsD.RData", package="surveillance"))

## Fit an endemic-only twinstim()
m_noepi <- update(imdepifit, epidemic = ~0, siaf = NULL, model = TRUE,
                  T = 120)  # using a restricted time range, for speed

## Simulate events from the above endemic model
s1 <- simEndemicEvents(m_noepi, tiles = districtsD)
class(s1)  # just a "SpatialPointsDataFrame"
plot(imdepi$W, lwd = 2, asp = 1)  
plot(s1, col = s1$type, cex = 0.5, add = TRUE)

if (surveillance.options("allExamples")) {
## the general simulation method takes longer
s0 <- simulate(m_noepi, seed = 1, data = imdepi, tiles = districtsD)
class(s0)  # gives a full "simEpidataCS" with several methods applicable
methods(class = "epidataCS")
plot(s0, "time")
plot(s0, "space", points.args = list(pch = 3), lwd = 2)