joincount.test: BB join count statistic for k-coloured factors

Description Usage Arguments Value Note Author(s) References See Also Examples

View source: R/jc.R

Description

The BB join count test for spatial autocorrelation using a spatial weights matrix in weights list form for testing whether same-colour joins occur more frequently than would be expected if the zones were labelled in a spatially random way. 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 joincount.mc permutations.

Usage

1
2
3
4
joincount.test(fx, listw, zero.policy=NULL, alternative="greater", spChk=NULL,
 adjust.n=TRUE)
## S3 method for class 'jclist'
print(x, ...)

Arguments

fx

a factor of the same length as the neighbours and weights objects in listw

listw

a listw object created for example by nb2listw

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), "less" or "two.sided".

adjust.n

default TRUE, if FALSE the number of observations is not adjusted for no-neighbour observations, if TRUE, the number of observations is adjusted consistently (up to and including spdep 0.3-28 the adjustment was inconsistent - thanks to Tomoki NAKAYA for a careful bug report)

spChk

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

x

object to be printed

...

arguments to be passed through for printing

Value

A list with class jclist of lists with class htest for each of the k colours containing the following components:

statistic

the value of the standard deviate of the join count statistic.

p.value

the p-value of the test.

estimate

the value of the observed statistic, its expectation and variance under non-free sampling.

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.

Note

The derivation of the test (Cliff and Ord, 1981, p. 18) assumes that the weights matrix is symmetric. For inherently non-symmetric matrices, such as k-nearest neighbour matrices, listw2U() can be used to make the matrix symmetric. In non-symmetric weights matrix cases, the variance of the test statistic may be negative.

Author(s)

Roger Bivand Roger.Bivand@nhh.no

References

Cliff, A. D., Ord, J. K. 1981 Spatial processes, Pion, p. 20.

See Also

joincount.mc, joincount.multi, listw2U

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
data(oldcol)
HICRIME <- cut(COL.OLD$CRIME, breaks=c(0,35,80), labels=c("low","high"))
names(HICRIME) <- rownames(COL.OLD)
joincount.test(HICRIME, nb2listw(COL.nb, style="B"))
joincount.test(HICRIME, nb2listw(COL.nb, style="C"))
joincount.test(HICRIME, nb2listw(COL.nb, style="S"))
joincount.test(HICRIME, nb2listw(COL.nb, style="W"))
by(card(COL.nb), HICRIME, summary)
print(is.symmetric.nb(COL.nb))
coords.OLD <- cbind(COL.OLD$X, COL.OLD$Y)
COL.k4.nb <- knn2nb(knearneigh(coords.OLD, 4))
print(is.symmetric.nb(COL.k4.nb))
joincount.test(HICRIME, nb2listw(COL.k4.nb, style="B"))
cat("Note non-symmetric weights matrix - use listw2U()\n")
joincount.test(HICRIME, listw2U(nb2listw(COL.k4.nb, style="B")))

Example output

Loading required package: sp
Loading required package: Matrix

	Join count test under nonfree sampling

data:  HICRIME 
weights: nb2listw(COL.nb, style = "B") 

Std. deviate for low = 1.0141, p-value = 0.1553
alternative hypothesis: greater
sample estimates:
Same colour statistic           Expectation              Variance 
             34.00000              29.59184              18.89550 


	Join count test under nonfree sampling

data:  HICRIME 
weights: nb2listw(COL.nb, style = "B") 

Std. deviate for high = 6.3307, p-value = 1.22e-10
alternative hypothesis: greater
sample estimates:
Same colour statistic           Expectation              Variance 
             54.00000              27.22449              17.88838 


	Join count test under nonfree sampling

data:  HICRIME 
weights: nb2listw(COL.nb, style = "C") 

Std. deviate for low = 1.0141, p-value = 0.1553
alternative hypothesis: greater
sample estimates:
Same colour statistic           Expectation              Variance 
            7.1810345             6.2500000             0.8428969 


	Join count test under nonfree sampling

data:  HICRIME 
weights: nb2listw(COL.nb, style = "C") 

Std. deviate for high = 6.3307, p-value = 1.22e-10
alternative hypothesis: greater
sample estimates:
Same colour statistic           Expectation              Variance 
           11.4051724             5.7500000             0.7979712 


	Join count test under nonfree sampling

data:  HICRIME 
weights: nb2listw(COL.nb, style = "S") 

Std. deviate for low = 2.5786, p-value = 0.00496
alternative hypothesis: greater
sample estimates:
Same colour statistic           Expectation              Variance 
            8.2425673             6.2500000             0.5971141 


	Join count test under nonfree sampling

data:  HICRIME 
weights: nb2listw(COL.nb, style = "S") 

Std. deviate for high = 6.1736, p-value = 3.337e-10
alternative hypothesis: greater
sample estimates:
Same colour statistic           Expectation              Variance 
           10.4249914             5.7500000             0.5734265 


	Join count test under nonfree sampling

data:  HICRIME 
weights: nb2listw(COL.nb, style = "W") 

Std. deviate for low = 4.6675, p-value = 1.524e-06
alternative hypothesis: greater
sample estimates:
Same colour statistic           Expectation              Variance 
            9.5190476             6.2500000             0.4905378 


	Join count test under nonfree sampling

data:  HICRIME 
weights: nb2listw(COL.nb, style = "W") 

Std. deviate for high = 5.1205, p-value = 1.523e-07
alternative hypothesis: greater
sample estimates:
Same colour statistic           Expectation              Variance 
            9.2920635             5.7500000             0.4784979 

HICRIME: low
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
   2.00    2.00    4.00    3.84    4.00   10.00 
------------------------------------------------------------ 
HICRIME: high
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
  3.000   4.750   6.000   5.667   7.000   9.000 
[1] TRUE
[1] FALSE

	Join count test under nonfree sampling

data:  HICRIME 
weights: nb2listw(COL.k4.nb, style = "B") 

Std. deviate for low = 4.3698, p-value = 6.217e-06
alternative hypothesis: greater
sample estimates:
Same colour statistic           Expectation              Variance 
            36.500000             25.000000              6.925749 


	Join count test under nonfree sampling

data:  HICRIME 
weights: nb2listw(COL.k4.nb, style = "B") 

Std. deviate for high = 6.7293, p-value = 8.523e-12
alternative hypothesis: greater
sample estimates:
Same colour statistic           Expectation              Variance 
            40.500000             23.000000              6.762918 

Note non-symmetric weights matrix - use listw2U()

	Join count test under nonfree sampling

data:  HICRIME 
weights: listw2U(nb2listw(COL.k4.nb, style = "B")) 

Std. deviate for low = 4.3698, p-value = 6.217e-06
alternative hypothesis: greater
sample estimates:
Same colour statistic           Expectation              Variance 
            36.500000             25.000000              6.925749 


	Join count test under nonfree sampling

data:  HICRIME 
weights: listw2U(nb2listw(COL.k4.nb, style = "B")) 

Std. deviate for high = 6.7293, p-value = 8.523e-12
alternative hypothesis: greater
sample estimates:
Same colour statistic           Expectation              Variance 
            40.500000             23.000000              6.762918 

spdep documentation built on Aug. 19, 2017, 3:01 a.m.