Description Usage Arguments Value Note Author(s) References See Also Examples
Moran's 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 moran.mc
permutations.
1 2 |
x |
a numeric vector the same length as the neighbours list in listw |
listw |
a |
randomisation |
variance of I calculated under the assumption of randomisation, if FALSE normality |
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. |
rank |
logical value - default FALSE for continuous variables, if TRUE, uses the adaptation of Moran's I for ranks suggested by Cliff and Ord (1981, p. 46) |
na.action |
a function (default |
spChk |
should the data vector names be checked against the spatial objects for identity integrity, TRUE, or FALSE, default NULL to use |
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 |
A list with class htest
containing the following components:
statistic |
the value of the standard deviate of Moran's I. |
p.value |
the p-value of the test. |
estimate |
the value of the observed Moran's I, 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. |
Var(I) is taken from Cliff and Ord (1969, p. 28), and
Goodchild's CATMOG 47 (1986),
see also Upton & Fingleton (1985) p. 171; it agrees with SpaceStat,
see Tutorial workbook Chapter 22; VI is the second crude moment minus the
square of the first crude moment. 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.
Roger Bivand Roger.Bivand@nhh.no
Cliff, A. D., Ord, J. K. 1981 Spatial processes, Pion, p. 21.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | data(oldcol)
coords.OLD <- cbind(COL.OLD$X, COL.OLD$Y)
moran.test(COL.OLD$CRIME, nb2listw(COL.nb, style="W"))
moran.test(COL.OLD$CRIME, nb2listw(COL.nb, style="B"))
moran.test(COL.OLD$CRIME, nb2listw(COL.nb, style="C"))
moran.test(COL.OLD$CRIME, nb2listw(COL.nb, style="S"))
moran.test(COL.OLD$CRIME, nb2listw(COL.nb, style="W"),
randomisation=FALSE)
colold.lags <- nblag(COL.nb, 3)
moran.test(COL.OLD$CRIME, nb2listw(colold.lags[[2]],
style="W"))
moran.test(COL.OLD$CRIME, nb2listw(colold.lags[[3]],
style="W"))
print(is.symmetric.nb(COL.nb))
COL.k4.nb <- knn2nb(knearneigh(coords.OLD, 4))
print(is.symmetric.nb(COL.k4.nb))
moran.test(COL.OLD$CRIME, nb2listw(COL.k4.nb, style="W"))
moran.test(COL.OLD$CRIME, nb2listw(COL.k4.nb, style="W"),
randomisation=FALSE)
cat("Note: non-symmetric weights matrix, use listw2U()")
moran.test(COL.OLD$CRIME, listw2U(nb2listw(COL.k4.nb,
style="W")))
moran.test(COL.OLD$CRIME, listw2U(nb2listw(COL.k4.nb,
style="W")), randomisation=FALSE)
ranks <- rank(COL.OLD$CRIME)
names(ranks) <- rownames(COL.OLD)
moran.test(ranks, nb2listw(COL.nb, style="W"), rank=TRUE)
crime <- COL.OLD$CRIME
is.na(crime) <- sample(1:length(crime), 10)
res <- try(moran.test(crime, nb2listw(COL.nb, style="W"),
na.action=na.fail))
res
moran.test(crime, nb2listw(COL.nb, style="W"), zero.policy=TRUE,
na.action=na.omit)
moran.test(crime, nb2listw(COL.nb, style="W"), zero.policy=TRUE,
na.action=na.exclude)
moran.test(crime, nb2listw(COL.nb, style="W"), na.action=na.pass)
|
Loading required package: sp
Loading required package: Matrix
Moran I test under randomisation
data: COL.OLD$CRIME
weights: nb2listw(COL.nb, style = "W")
Moran I statistic standard deviate = 5.6341, p-value = 8.797e-09
alternative hypothesis: greater
sample estimates:
Moran I statistic Expectation Variance
0.510951264 -0.020833333 0.008908762
Moran I test under randomisation
data: COL.OLD$CRIME
weights: nb2listw(COL.nb, style = "B")
Moran I statistic standard deviate = 6.2116, p-value = 2.622e-10
alternative hypothesis: greater
sample estimates:
Moran I statistic Expectation Variance
0.52063815 -0.02083333 0.00759872
Moran I test under randomisation
data: COL.OLD$CRIME
weights: nb2listw(COL.nb, style = "C")
Moran I statistic standard deviate = 6.2116, p-value = 2.622e-10
alternative hypothesis: greater
sample estimates:
Moran I statistic Expectation Variance
0.52063815 -0.02083333 0.00759872
Moran I test under randomisation
data: COL.OLD$CRIME
weights: nb2listw(COL.nb, style = "S")
Moran I statistic standard deviate = 5.9786, p-value = 1.125e-09
alternative hypothesis: greater
sample estimates:
Moran I statistic Expectation Variance
0.512957470 -0.020833333 0.007971504
Moran I test under normality
data: COL.OLD$CRIME
weights: nb2listw(COL.nb, style = "W")
Moran I statistic standard deviate = 5.6754, p-value = 6.92e-09
alternative hypothesis: greater
sample estimates:
Moran I statistic Expectation Variance
0.510951264 -0.020833333 0.008779831
Moran I test under randomisation
data: COL.OLD$CRIME
weights: nb2listw(colold.lags[[2]], style = "W")
Moran I statistic standard deviate = 2.6076, p-value = 0.004559
alternative hypothesis: greater
sample estimates:
Moran I statistic Expectation Variance
0.168485742 -0.020833333 0.005271314
Moran I test under randomisation
data: COL.OLD$CRIME
weights: nb2listw(colold.lags[[3]], style = "W")
Moran I statistic standard deviate = -1.7896, p-value = 0.9632
alternative hypothesis: greater
sample estimates:
Moran I statistic Expectation Variance
-0.138930745 -0.020833333 0.004354683
[1] TRUE
[1] FALSE
Moran I test under randomisation
data: COL.OLD$CRIME
weights: nb2listw(COL.k4.nb, style = "W")
Moran I statistic standard deviate = 7.2183, p-value = 2.632e-13
alternative hypothesis: greater
sample estimates:
Moran I statistic Expectation Variance
0.624933667 -0.020833333 0.008003503
Moran I test under normality
data: COL.OLD$CRIME
weights: nb2listw(COL.k4.nb, style = "W")
Moran I statistic standard deviate = 7.2711, p-value = 1.782e-13
alternative hypothesis: greater
sample estimates:
Moran I statistic Expectation Variance
0.624933667 -0.020833333 0.007887613
Note: non-symmetric weights matrix, use listw2U()
Moran I test under randomisation
data: COL.OLD$CRIME
weights: listw2U(nb2listw(COL.k4.nb, style = "W"))
Moran I statistic standard deviate = 7.2183, p-value = 2.632e-13
alternative hypothesis: greater
sample estimates:
Moran I statistic Expectation Variance
0.624933667 -0.020833333 0.008003503
Moran I test under normality
data: COL.OLD$CRIME
weights: listw2U(nb2listw(COL.k4.nb, style = "W"))
Moran I statistic standard deviate = 7.2711, p-value = 1.782e-13
alternative hypothesis: greater
sample estimates:
Moran I statistic Expectation Variance
0.624933667 -0.020833333 0.007887613
Moran I test under randomisation
data: ranks using rank correction
weights: nb2listw(COL.nb, style = "W")
Moran I statistic standard deviate = 6.3815, p-value = 8.766e-11
alternative hypothesis: greater
sample estimates:
Moran I statistic Expectation Variance
0.584333495 -0.020833333 0.008992923
Error in na.fail.default(x) : missing values in object
[1] "Error in na.fail.default(x) : missing values in object\n"
attr(,"class")
[1] "try-error"
attr(,"condition")
<simpleError in na.fail.default(x): missing values in object>
Moran I test under randomisation
data: crime
weights: nb2listw(COL.nb, style = "W")
omitted: 9, 10, 14, 16, 21, 32, 37, 38, 45, 48
Moran I statistic standard deviate = 3.7094, p-value = 0.0001039
alternative hypothesis: greater
sample estimates:
Moran I statistic Expectation Variance
0.40185281 -0.02702703 0.01336779
Moran I test under randomisation
data: crime
weights: nb2listw(COL.nb, style = "W")
omitted: 9, 10, 14, 16, 21, 32, 37, 38, 45, 48
Moran I statistic standard deviate = 3.7094, p-value = 0.0001039
alternative hypothesis: greater
sample estimates:
Moran I statistic Expectation Variance
0.40185281 -0.02702703 0.01336779
Moran I test under randomisation
data: crime
weights: nb2listw(COL.nb, style = "W")
Moran I statistic standard deviate = 1.8785, p-value = 0.03016
alternative hypothesis: greater
sample estimates:
Moran I statistic Expectation Variance
0.154373808 -0.020833333 0.008699084
Warning message:
In lag.listw(listw, z, zero.policy = zero.policy, NAOK = NAOK) :
NAs in lagged values
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.