Skip to contents

Values Moran's I can take depends on the spatial neighborhood graph. The bounds of Moran's I given the graph, C, are given by the minimum and maximum eigenvalues of the double centered -- i.e. subtracting column means and row means -- adjacency matrix \((I - \mathbb{11}^T/n)C(I - \mathbb{11}^T/n)\), where \(\mathbb 1\) is a vector of all 1's. This implementation follows the implementation in adespatial and uses the RSpectra package to more quickly find only the minimum and maximum eigenvalues without performing unnecessary work to find the full spectrum as done in base R's eigen.

Usage

moranBounds(listw)

Arguments

listw

A listw object for spatial neighborhood graph.

Value

A numeric vector of minimum and maximum Moran's I given the spatial neighborhood graph.

Note

After double centering, the adjacency matrix is no longer sparse, so this function can take up a lot of memory for larger datasets.

References

de Jong, P., Sprenger, C., & van Veen, F. (1984). On extreme values of Moran's I and Geary's C. Geographical Analysis, 16(1), 17-24.

Examples

# example code
library(SFEData)
sfe <- McKellarMuscleData("small")
#> see ?SFEData and browseVignettes('SFEData') for documentation
#> loading from cache
g <- findVisiumGraph(sfe)
moranBounds(g)
#>       Imin       Imax 
#> -0.5825787  0.9725069