joincount.multi
BB, BW and Jtot join count statistic for kcoloured factors
A function for tallying join counts between samecolour and different colour spatial objects, where neighbour relations are defined by a weights list. Given the global counts in each colour, expected counts and variances are calculated under nonfree sampling, and a zvalue reported. Since multiple tests are reported, no pvalues are given, allowing the user to adjust the significance level applied. Jtot is the count of all differentcolour joins.
 Keywords
 spatial
Usage
joincount.multi(fx, listw, zero.policy = FALSE, spChk = NULL, adjust.n=TRUE)
"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 bynb2listw
 zero.policy
 if TRUE assign zero to the lagged value of zones without neighbours, if FALSE assign NA
 adjust.n
 default TRUE, if FALSE the number of observations is not adjusted for noneighbour observations, if TRUE, the number of observations is adjusted consistently (up to and including spdep 0.328 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 matrix with class
jcmulti
with row and column names for observed and expected counts, variance, and zvalue.
Note
The derivation of the test (Cliff and Ord, 1981, p. 18) assumes that the weights matrix is symmetric. For inherently nonsymmetric matrices, such as knearest neighbour matrices, listw2U()
can be used to make the matrix symmetric. In nonsymmetric weights matrix cases, the variance of the test statistic may be negative.
References
Cliff, A. D., Ord, J. K. 1981 Spatial processes, Pion, p. 20; Upton, G., Fingleton, B. 1985 Spatial data analysis by example: point pattern and quatitative data, Wiley, pp. 158170.
See Also
Examples
data(oldcol)
HICRIME < cut(COL.OLD$CRIME, breaks=c(0,35,80), labels=c("low","high"))
names(HICRIME) < rownames(COL.OLD)
joincount.multi(HICRIME, nb2listw(COL.nb, style="B"))
## Not run:
# data(hopkins)
# image(1:32, 1:32, hopkins[5:36,36:5], breaks=c(0.5, 3.5, 20),
# col=c("white", "black"))
# box()
# hopkins.rook.nb < cell2nb(32, 32, type="rook")
# unlist(spweights.constants(nb2listw(hopkins.rook.nb, style="B")))
# hopkins.queen.nb < cell2nb(32, 32, type="queen")
# hopkins.bishop.nb < diffnb(hopkins.rook.nb, hopkins.queen.nb, verbose=FALSE)
# hopkins4 < hopkins[5:36,36:5]
# hopkins4[which(hopkins4 > 3, arr.ind=TRUE)] < 4
# hopkins4.f < factor(hopkins4)
# table(hopkins4.f)
# joincount.multi(hopkins4.f, nb2listw(hopkins.rook.nb, style="B"))
# cat("replicates Upton & Fingleton table 3.4 (p. 166)\n")
# joincount.multi(hopkins4.f, nb2listw(hopkins.bishop.nb, style="B"))
# cat("replicates Upton & Fingleton table 3.6 (p. 168)\n")
# joincount.multi(hopkins4.f, nb2listw(hopkins.queen.nb, style="B"))
# cat("replicates Upton & Fingleton table 3.7 (p. 169)\n")
# ## End(Not run)