gearymoran {ade4} | R Documentation

## Moran's I and Geary'c randomization tests for spatial and phylogenetic autocorrelation

### Description

This function performs Moran's I test using phylogenetic and spatial link matrix (binary or general). It uses neighbouring weights so Moran's I and Geary's c randomization tests are equivalent.

### Usage

    gearymoran(bilis, X, nrepet = 999)

### Arguments

`bilis` | : a n by n link matrix where n is the row number of X
`X` | : a data frame with continuous variables
`nrepet` | : number of random vectors for the randomization test

### Details

`bilis` is a squared symmetric matrix which terms are all positive or null.

`bilis` is firstly transformed in frequency matrix A by dividing it by the total sum of data matrix :

a_ij = bilis_ij / (sum_i sum_j bilis_ij)

. The neighbouring weights is defined by the matrix D = diag(d_1,d_2, ...) where d_i = sum_j bilis_ij. For each vector x of the data frame X, the test is based on the Moran statistic t(x)Ax where x is D-centred.

### Value

Returns an object of class `krandtest` (randomization tests).

### Author(s)

Sébastien Ollier ollier@biomserv.univ-lyon1.fr
Daniel Chessel chessel@biomserv.univ-lyon1.fr

### References

Cliff, A. D. and Ord, J. K. (1973) Spatial autocorrelation, Pion, London.

Thioulouse, J., Chessel, D. and Champely, S. (1995) Multivariate analysis of spatial patterns: a unified approach to local and global structures. Environmental and Ecological Statistics, 2, 1–14.

### See Also

`moran.test` and `geary.test` for classical versions of Moran'I test and Geary'c one

### Examples

    # a spatial example
    data(mafragh)
    tab0 <- (as.data.frame(scalewt(mafragh$mil)))
    bilis0 <- neig2mat(mafragh$neig)
    gm0 <- gearymoran(bilis0, tab0, 999)
    gm0
    plot(gm0, nclass = 20)

    ## Not run:
    # a phylogenetic example
    data(mjrochet)
    mjr.phy <- newick2phylog(mjrochet$tre)
    mjr.tab <- log(mjrochet$tab)
    gearymoran(mjr.phy$Amat, mjr.tab)
    gearymoran(mjr.phy$Wmat, mjr.tab)
    par(mfrow = c(1,2))
    table.value(mjr.phy$Wmat, csi = 0.25, clabel.r = 0)
    table.value(mjr.phy$Amat, csi = 0.35, clabel.r = 0)
    par(mfrow = c(1,1))
    ## End(Not run)

[Package Contents]