# BB join count statistic for k-coloured factors

### 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 |

### Arguments

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

`listw` |
a |

`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 |

`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")))
``` |