moran.mc {spdep} | R Documentation

## Permutation test for Moran's I statistic

### Description

A permutation test for Moran's I statistic calculated by using nsim random permutations of x for the given spatial weighting scheme, to establish the rank of the observed statistic in relation to the nsim simulated values. The examples show how `boot(sim="permutation")` can replicate this function (thanks to Virgilio Gómez Rubio and the DCluster package).

### Usage

    moran.mc(x, listw, nsim, zero.policy=FALSE, alternative="greater", na.action=na.fail, spChk=NULL)

### Arguments

`x` | a numeric vector the same length as the neighbours list in listw
`listw` | a `listw` object created for example by `nb2listw`
`nsim` | number of permutations
`zero.policy` | 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), or "less".
`na.action` | a function (default `na.fail`), can also be `na.omit` or `na.exclude` - in these cases the weights list will be subsetted to remove NAs in the data. It may be necessary to set zero.policy to TRUE because this subsetting may create no-neighbour observations. Note that only weights lists created without using the glist argument to `nb2listw` may be subsetted. `na.pass` is not permitted because it is meaningless in a permutation test.
`spChk` | should the data vector names be checked against the spatial objects for identity integrity, TRUE, or FALSE, default NULL to use `get.spChkOption()`

### Value

A list with class `htest` and `mc.sim` containing the following components:

`statistic` | the value of the observed Moran's I.
`parameter` | the rank of the observed Moran's I.
`p.value` | the pseudo p-value of the test.
`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, and the number of simulations.
`res` | nsim simulated values of statistic, final value is observed statistic

### Author(s)

Roger Bivand Roger.Bivand@nhh.no

### References

Cliff, A. D., Ord, J. K. 1981 Spatial processes, Pion, p. 63-5.

### See Also

`moran`, `moran.test`

### Examples

    data(oldcol)
    colw <- nb2listw(COL.nb, style="W")
    nsim <- 99
    set.seed(1234)
    sim1 <- moran.mc(spNamedVec("CRIME", COL.OLD), listw=colw, nsim=nsim)
    sim1
    mean(sim1$res[1:nsim])
    var(sim1$res[1:nsim])
    summary(sim1$res[1:nsim])
    MoranI.boot <- function(var, i, ...) {
    var <- var[i]
    return(moran(x=var, ...)$I)
    }
    set.seed(1234)
    library(boot)
    boot1 <- boot(spNamedVec("CRIME", COL.OLD), statistic=MoranI.boot, R=nsim, sim="permutation", listw=colw, n=nrow(COL.OLD), S0=Szero(colw))
    boot1
    plot(boot1)
    mean(boot1$t)
    var(boot1$t)
    summary(boot1$t)
    colold.lags <- nblag(COL.nb, 3)
    set.seed(1234)
    sim2 <- moran.mc(spNamedVec("CRIME", COL.OLD), nb2listw(colold.lags[[2]],
     style="W"), nsim=nsim)
    summary(sim2$res[1:nsim])
    sim3 <- moran.mc(spNamedVec("CRIME", COL.OLD), nb2listw(colold.lags[[3]],
     style="W"), nsim=nsim)
    summary(sim3$res[1:nsim])

[Package spdep version 0.3-25 Index]