Lee's L test for spatial autocorrelation
lee.test.Rd
Lee's L test for spatial autocorrelation using a spatial weights matrix in weights list form. The assumptions underlying the test are sensitive to the form of the graph of neighbour relationships and other factors, and results may be checked against those of lee.mc
permutations.
Usage
lee.test(x, y, listw, zero.policy=attr(listw, "zero.policy"),
alternative="greater", na.action=na.fail, spChk=NULL)
Arguments
- x
a numeric vector the same length as the neighbours list in listw
- y
a numeric vector the same length as the neighbours list in listw
- listw
a
listw
object created for example bynb2listw
- zero.policy
default
attr(listw, "zero.policy")
as set whenlistw
was created, if attribute not set, 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), less or two.sided.
- na.action
a function (default
na.fail
), can also bena.omit
orna.exclude
- in these cases the weights list will be subsetted to remove NAs in the data. It may be necessary to set zero.policy to TRUE because this subsetting may create no-neighbour observations. Note that only weights lists created without using the glist argument tonb2listw
may be subsetted. Ifna.pass
is used, zero is substituted for NA values in calculating the spatial lag- spChk
should the data vector names be checked against the spatial objects for identity integrity, TRUE, or FALSE, default NULL to use
get.spChkOption()
Value
A list with class htest
containing the following components:
- statistic
the value of the standard deviate of Lee's L.
- p.value
the p-value of the test.
- estimate
the value of the observed Lee's L, its expectation and variance under the method assumption.
- alternative
a character string describing the alternative hypothesis.
- method
a character string giving the assumption used for calculating the standard deviate.
- data.name
a character string giving the name(s) of the data.
Note
See Lee (2004) for details on how the asymptotic expectation and variance of Lee's L is computed. In particular, check Lee (2004), table 1, page 1690.
This test may fail for large datasets as the computation of the asymptotic expectation and variance requires the use of dense matrices.
References
Lee (2004). A generalized significance testing method for global measures of spatial association: an extension of the Mantel test. Environment and Planning A 2004, volume 36, pages 1687 - 1703
Author
Roger Bivand and Virgilio Gómez-Rubio Virgilio.Gomez@uclm.es
Examples
data(oldcol)
col.W <- nb2listw(COL.nb, style="W")
crime <- COL.OLD$CRIME
lee.test(crime, crime, col.W, zero.policy=TRUE)
#>
#> Lee's L statistic randomisation
#>
#> data: crime , crime
#> weights: col.W
#>
#> Lee's L statistic standard deviate = 5.2343, p-value = 8.279e-08
#> alternative hypothesis: greater
#> sample estimates:
#> Lee's L statistic Expectation Variance
#> 0.547064219 0.239417989 0.003454459
#>
#Test with missing values
x<-crime
y<-crime
x[1:5]<-NA
y[3:7]<-NA
lee.test(x, y, col.W, zero.policy=TRUE, na.action=na.omit)
#>
#> Lee's L statistic randomisation
#>
#> data: x , y
#> weights: col.W
#> omitted: 1, 2, 3, 4, 5, 6, 7
#>
#> Lee's L statistic standard deviate = 6.6873, p-value = 1.137e-11
#> alternative hypothesis: greater
#> sample estimates:
#> Lee's L statistic Expectation Variance
#> 0.706469726 0.260143244 0.004454563
#>
# lee.test(x, y, col.W, zero.policy=TRUE)#Stops with an error
data(boston, package="spData")
lw<-nb2listw(boston.soi)
x<-boston.c$CMEDV
y<-boston.c$CRIM
lee.test(x, y, lw, zero.policy=TRUE, alternative="less")
#>
#> Lee's L statistic randomisation
#>
#> data: x , y
#> weights: lw
#>
#> Lee's L statistic standard deviate = -11.54, p-value < 2.2e-16
#> alternative hypothesis: less
#> sample estimates:
#> Lee's L statistic Expectation Variance
#> -0.326297206 -0.105040316 0.000367637
#>
#Test with missing values
x[1:5]<-NA
y[3:7]<-NA
lee.test(x, y, lw, zero.policy=TRUE, alternative="less", na.action=na.omit)
#>
#> Lee's L statistic randomisation
#>
#> data: x , y
#> weights: lw
#> omitted: 1, 2, 3, 4, 5, 6, 7
#>
#> Lee's L statistic standard deviate = -11.284, p-value < 2.2e-16
#> alternative hypothesis: less
#> sample estimates:
#> Lee's L statistic Expectation Variance
#> -0.3244748280 -0.1053154332 0.0003772109
#>