A permutation test for Geary's C statistic calculated by using nsim random permutations of x for the given spatial weighting scheme, to establish the rank of the observed statistic in relation to the nsim simulated values.

geary.mc(x, listw, nsim, zero.policy=NULL, alternative="greater",
spChk=NULL, adjust.n=TRUE, return_boot=FALSE)

## Arguments

x

a numeric vector the same length as the neighbours list in listw

listw

a listw object created for example by nb2listw

nsim

number of permutations

zero.policy

default NULL, use global option value; if TRUE assign zero to the lagged value of zones without neighbours, if FALSE assign NA

alternative

a character string specifying the alternative hypothesis, must be one of "greater" (default), or "less"; this reversal corresponds to that on geary.test described in the section on the output statistic value, based on Cliff and Ord 1973, p. 21 (changed 2011-04-11, thanks to Daniel Garavito).

spChk

should the data vector names be checked against the spatial objects for identity integrity, TRUE, or FALSE, default NULL to use get.spChkOption()

default TRUE, if FALSE the number of observations is not adjusted for no-neighbour observations, if TRUE, the number of observations is adjusted

return_boot

return an object of class boot from the equivalent permutation bootstrap rather than an object of class htest

## Value

A list with class htest and mc.sim containing the following components:

statistic

the value of the observed Geary's C.

parameter

the rank of the observed Geary's C.

p.value

the pseudo p-value of the test.

alternative

a character string describing the alternative hypothesis.

method

a character string giving the method used.

data.name

a character string giving the name(s) of the data, and the number of simulations.

res

nsim simulated values of statistic, final value is observed statistic

## References

Cliff, A. D., Ord, J. K. 1981 Spatial processes, Pion, p. 63-5.

## Author

Roger Bivand Roger.Bivand@nhh.no

geary, geary.test

## Examples

data(oldcol)
sim1 <- geary.mc(COL.OLD$CRIME, nb2listw(COL.nb, style="W"), nsim=99, alternative="less") sim1 #> #> Monte-Carlo simulation of Geary C #> #> data: COL.OLD$CRIME
#> weights: nb2listw(COL.nb, style = "W")
#> number of simulations + 1: 100
#>
#> statistic = 0.52987, observed rank = 1, p-value = 0.99
#> alternative hypothesis: less
#>
mean(sim1$res) #> [1] 0.9892529 var(sim1$res)
#> [1] 0.01159151
summary(sim1$res) #> Min. 1st Qu. Median Mean 3rd Qu. Max. #> 0.5299 0.9314 1.0045 0.9893 1.0625 1.2737 colold.lags <- nblag(COL.nb, 3) sim2 <- geary.mc(COL.OLD$CRIME, nb2listw(colold.lags[[2]],
style="W"), nsim=99)
sim2
#>
#> 	Monte-Carlo simulation of Geary C
#>
#> data:  COL.OLD$CRIME #> weights: nb2listw(colold.lags[[2]], style = "W") #> number of simulations + 1: 100 #> #> statistic = 0.81129, observed rank = 1, p-value = 0.01 #> alternative hypothesis: greater #> summary(sim2$res)
#>    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.
#>  0.8113  0.9664  0.9991  1.0075  1.0607  1.1688
sim3 <- geary.mc(COL.OLD$CRIME, nb2listw(colold.lags[[3]], style="W"), nsim=99) sim3 #> #> Monte-Carlo simulation of Geary C #> #> data: COL.OLD$CRIME
#> weights: nb2listw(colold.lags[[3]], style = "W")
#> number of simulations + 1: 100
#>
#> statistic = 1.1303, observed rank = 94, p-value = 0.94
#> alternative hypothesis: greater
#>
summary(sim3\$res)
#>    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.
#>  0.8177  0.9591  1.0076  1.0092  1.0650  1.1679