Compute Moran's I or Geary's C measures of global spatial autocorrelation in a RasterLayer, or compute the the local Moran or Geary index (Anselin, 1995).

Geary(x, w=matrix(c(1,1,1,1,0,1,1,1,1), 3,3))
Moran(x, w=matrix(c(1,1,1,1,0,1,1,1,1), 3,3))
MoranLocal(x, w=matrix(c(1,1,1,1,0,1,1,1,1), 3,3))
GearyLocal(x, w=matrix(c(1,1,1,1,0,1,1,1,1), 3,3))

## Arguments

x

RasterLayer

w

Spatial weights defined by or a rectangular matrix with odd length (3, 5, ...) sides (as in focal)

## Value

A single value (Moran's I or Geary's C) or a RasterLayer (Local Moran or Geary values)

## Details

The default setting uses a 3x3 neighborhood to compute "Queen's case" indices. You can use a filter (weights matrix) to do other things, such as "Rook's case", or different lags.

The spdep package for additional and more general approaches for computing indices of spatial autocorrelation

## Author

Robert J. Hijmans and Babak Naimi

## References

Moran, P.A.P., 1950. Notes on continuous stochastic phenomena. Biometrika 37:17-23

Geary, R.C., 1954. The contiguity ratio and statistical mapping. The Incorporated Statistician 5: 115-145

Anselin, L., 1995. Local indicators of spatial association-LISA. Geographical Analysis 27:93-115

## Examples

r <- raster(nrows=10, ncols=10)
values(r) <- 1:ncell(r)

Moran(r)
#> [1] 0.8353565
# Rook's case
f <- matrix(c(0,1,0,1,0,1,0,1,0), nrow=3)
Moran(r, f)
#> [1] 0.8929367

Geary(r)
#> [1] 0.04739631

x1 <- MoranLocal(r)

# Rook's case
x2 <- MoranLocal(r, w=f)