MoranI: Moran's I Autocorrelation Index

Description Usage Arguments Details Value Author(s) References See Also Examples

Description

This function computes Moran's I autocorrelation coefficient of x giving a matrix of weights using the method described by Gittleman and Kot (1990).

Usage

1
2
  Moran.I(x, weight, scaled = FALSE, na.rm = FALSE,
          alternative = "two.sided")

Arguments

x

a numeric vector.

weight

a matrix of weights.

scaled

a logical indicating whether the coefficient should be scaled so that it varies between -1 and +1 (default to FALSE).

na.rm

a logical indicating whether missing values should be removed.

alternative

a character string specifying the alternative hypothesis that is tested against the null hypothesis of no phylogenetic correlation; must be of one "two.sided", "less", or "greater", or any unambiguous abbrevation of these.

Details

The matrix weight is used as “neighbourhood” weights, and Moran's I coefficient is computed using the formula:

\code{I = n/S0 * (sum{i=1..n} sum{j=1..n} wij(yi - ym))(yj - ym) / (sum{i=1..n} (yi - ym)^2)}

with

The null hypothesis of no phylogenetic correlation is tested assuming normality of I under this null hypothesis. If the observed value of I is significantly greater than the expected value, then the values of x are positively autocorrelated, whereas if Iobserved < Iexpected, this will indicate negative autocorrelation.

Value

A list containing the elements:

observed

the computed Moran's I.

expected

the expected value of I under the null hypothesis.

sd

the standard deviation of I under the null hypothesis.

p.value

the P-value of the test of the null hypothesis against the alternative hypothesis specified in alternative.

Author(s)

Julien Dutheil [email protected] and Emmanuel Paradis

References

Gittleman, J. L. and Kot, M. (1990) Adaptation: statistics and a null model for estimating phylogenetic effects. Systematic Zoology, 39, 227–241.

See Also

weight.taxo

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
tr <- rtree(30)
x <- rnorm(30)
## weights w[i,j] = 1/d[i,j]:
w <- 1/cophenetic(tr)
## set the diagonal w[i,i] = 0 (instead of Inf...):
diag(w) <- 0
Moran.I(x, w)
Moran.I(x, w, alt = "l")
Moran.I(x, w, alt = "g")
Moran.I(x, w, scaled = TRUE) # usualy the same

Example output

$observed
[1] 0.01610453

$expected
[1] -0.03448276

$sd
[1] 0.02843146

$p.value
[1] 0.0751952

$observed
[1] 0.01610453

$expected
[1] -0.03448276

$sd
[1] 0.02843146

$p.value
[1] 0.9624024

$observed
[1] 0.01610453

$expected
[1] -0.03448276

$sd
[1] 0.02843146

$p.value
[1] 0.0375976

$observed
[1] 0.01610453

$expected
[1] -0.03448276

$sd
[1] 0.02843146

$p.value
[1] 0.0751952

ape documentation built on Sept. 24, 2018, 9:03 a.m.