flex_zones: Determine zones for flexibly shaped spatial scan test

Description Usage Arguments Value Author(s) References Examples

View source: R/flex_zones.R

Description

flex_zones determines the unique zones to consider for the flexibly shaped spatial scan test of Tango and Takahashi (2005). The algorithm uses a breadth-first search to find all subgraphs connected to each vertex (region) in the data set of size k or less.

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
flex_zones(
  coords,
  w,
  k = 10,
  longlat = FALSE,
  cl = NULL,
  loop = FALSE,
  verbose = FALSE,
  pfreq = 1
)

Arguments

coords

An n \times 2 matrix of centroid coordinates for the regions.

w

A binary spatial adjacency matrix for the regions.

k

An integer indicating the maximum number of regions to inclue in a potential cluster. Default is 10

longlat

The default is FALSE, which specifies that Euclidean distance should be used. If longlat is TRUE, then the great circle distance is used to calculate the intercentroid distance.

cl

Ignored, but retained for backwards compatibility

loop

A logical value indicating whether a loop should be used to implement the function instead of pbapply. The default is FALSE. If TRUE, then memory-saving steps are also taken.

verbose

A logical value indicating whether progress messages should be provided. The default is FALSE. If both loop and verbose are TRUE, informative messages are displayed that can be useful for diagnosing where the sequences of connected subgraphs are slowing down or having problems.

pfreq

The frequency that messages are reported from the loop (if verbose = TRUE). The default is pfreq = 1, meaning a message is returned for each index of the loop.

Value

Returns a list of zones to consider for clustering. Each element of the list contains a vector with the location ids of the regions in that zone.

Author(s)

Joshua French

References

Tango, T., & Takahashi, K. (2005). A flexibly shaped spatial scan statistic for detecting clusters. International journal of health geographics, 4(1), 11.

Examples

1
2
3
4
5
6
7
8
9
data(nydf)
data(nyw)
coords = cbind(nydf$x, nydf$y)
zones = flex_zones(coords, w = nyw, k = 3)
## Not run: 
# see what happens when verbose = TRUE
zones = flex_zones(coords, w = nyw, k = 3, verbose = TRUE)

## End(Not run)

smerc documentation built on Oct. 1, 2021, 5:07 p.m.