Searches all possible clusters with start and end dates within minDateUser
and maxDateUser, so that the maximum fraction of the total population inside
the cluster is less than fractpop, and the maximum distance to the center is
less than radius.
The search can be done for spatial or spatio-temporal clusters.
The significance of the clusters is obtained with a Monte Carlo procedure
or based on the chi-square distribution (glm, glmer or zeroinfl models)
or DIC (`inla`

models).

```
DetectClustersModel(
stfdf,
thegrid = NULL,
radius = Inf,
step = NULL,
fractpop,
alpha,
typeCluster = "S",
minDateUser = NULL,
maxDateUser = NULL,
R = NULL,
model0,
ClusterSizeContribution = "Population"
)
```

stfdf

object containing the data. If data is spatial, stfdf is a SpatialPolygonsDataFrame object from sp. If data is spatio-temporal, stfdf is a STFDF object from spacetime. The data contain a SpatialPolygons object with the coordinates, and if applicable, a time object holding time information, an endTime vector of class POSIXct holding end points of time intervals. It also contain a data.frame with the Observed, Expected and potential covariates in each location and time (if applicable). Note that the function DetectClustersModel does not use the endTime vector. We can define endTime, for example, as the vector of class POSIXct which contains the same dates as the ones contained in the time object.

thegrid

two-columns matrix containing the points of the grid to be used. If it is null, a rectangular grid is built.

radius

maximum radius of the clusters.

step

step of the thegrid built.

fractpop

maximum fraction of the total population inside the cluster.

alpha

significance level used to determine the existence of clusters.

typeCluster

type of clusters to be detected. "ST" for spatio-temporal or "S" spatial clusters.

minDateUser

start date of the clusters.

maxDateUser

end date of the clusters.

R

If the cluster's significance is calculated based on the chi-square distribution or DIC, R is NULL. If the cluster's significance is calculated using a Monte Carlo procedure, R represents the number replicates under the null hypothesis.

model0

Initial model (including covariates).

ClusterSizeContribution

Indicates the variable to be used as the population at risk in the cluster. This is the variable name to be used by 'fractpop' when checking the fraction of the population inside the cluster. The default column name is 'Population'.
This can be "glm" for generalized linear models (glm stats),
"glmer" for generalized linear mixed model (glmer lme4),
"zeroinfl" for zero-inflated models (zeroinfl), or
"inla" for generalized linear, generalized linear mixed or zero-inflated models fitted with `inla`

.

data frame with information of the detected clusters ordered by its log-likelihood ratio value or DIC. Each row represents the information of one of the clusters. It contains the coordinates of the center, the size, the start and end dates, the log-likelihood ratio or DIC, the p-value, the risk of the cluster, and a boolean indicating if it is a cluster (TRUE in all cases). It also returns alpha_bonferroni which is the level of significance adjusted for multiple testing using Bonferroni correction. Thus, rows that should be considered clusters are the ones with p-value less than alpha_bonferroni.

Bilancia M, Demarinis G (2014) Bayesian scanning of spatial disease rates with the Integrated Nested Laplace Approximation (INLA). Statistical Methods & Applications 23(1): 71 - 94. http://dx.doi.org/10.1007/s10260-013-0241-8

Jung I (2009) A generalized linear models approach to spatial scan statistics for covariate adjustment. Statistics in Medicine 28(7): 1131 - 1143. G<U+00F3>mez-Rubio V, Molitor J, Moraga P (2018) Fast Bayesian Classification for Disease Mapping and the Detection of Disease Clusters. In: Cameletti M., Finazzi F. (eds) Quantitative Methods in Environmental and Climate Research. Springer, Cham

G<U+00F3>mez-Rubio V, Moraga P, Molitor J, Rowlingson B (2019). "DClusterm: Model-Based Detection of Disease Clusters." _Journal of Statistical Software_, *90*(14), 1-26. doi: 10.18637/jss.v090.i14 (URL: https://doi.org/10.18637/jss.v090.i14).

# NOT RUN { library("DClusterm") data("NY8") NY8$Observed <- round(NY8$Cases) NY8$Expected <- NY8$POP8 * sum(NY8$Observed) / sum(NY8$POP8) NY8$x <- coordinates(NY8)[, 1] NY8$y <- coordinates(NY8)[, 2] #Model to account for covariates ny.m1 <- glm(Observed ~ offset(log(Expected)) + PCTOWNHOME + PCTAGE65P + PEXPOSURE, family = "poisson", data = NY8) #Indices of areas that are possible cluster centres idxcl <- c(120, 12, 89, 139, 146) #Cluster detection adjusting for covariates ny.cl1 <- DetectClustersModel(NY8, thegrid = as.data.frame(NY8)[idxcl, c("x", "y")], fractpop = 0.15, alpha = 0.05, typeCluster = "S", R = NULL, model0 = ny.m1, ClusterSizeContribution = "POP8") #Display results ny.cl1 # }