[R] spatial correlation test

Stephane DRAY dray at biomserv.univ-lyon1.fr
Mon Jun 30 18:00:33 CEST 2003


At 18:48 30/06/2003, Martin Wegmann wrote:
>hello,
>
>I want to do a test for spatial correlation.
>I tried it with geary.test() but I don't understand the required input.
>x= a numeric vector the same length as the neighbours list in listw (my
>sampled data, I assume)
>listw= a listw object created for example by nb2listw (well when I check
>nb2listw() I get to "neighbours - an object of class nb" - but I couldn't
>figure out, what nb is or how I create such a class
>
>with sp.mantel.mc {spdep} I have the same problem: listw created by nb2listw
>
>isn't there a more straight forward method ;-)  to check for spatial
>correlation? like x and y coordinates plus my sampled data?

This functions require a list of spatial weights for each geographical 
unit. To construct this list, you must firstly establish the neighborhood 
relationships (who are the neighbors of a point). There are different ways 
to construct this neighborhood: based on distances (dnearneigh), number of 
nearest neighbors (knearneigh)... Then, you must transform this 
neighborhood to weights (see nb2listw for example). Here is a small example 
requiring the tripack library based on tesselation and voronoi mosaic to 
create the neighboorhood:

xy=matrix(rnorm(20),5,2)
z=rnorm(5)
library(spdep)

mynb=tri2nb(xy)
mylw=nb2listw(mynb)

geary.mc(z,mylw,10)

         Monte-Carlo simulation of Geary's C

data:  z
weights: mylw
number of simulations + 1: 11

There is no simplest method.....


statistic = 0.8384, observed rank = 2, p-value = 0.1818
alternative hypothesis: less




More information about the R-help mailing list