Moran's I Autocorrelation Index
This function computes Moran's I autocorrelation coefficient of
x
giving a matrix of weights using the method described by
Gittleman and Kot (1990).
Moran.I(x, weight, scaled = FALSE, na.rm = FALSE, alternative = "two.sided")
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
|
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. |
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
yi = observations
wij = distance weight
n = number of observations
S0 = \code{sum_{i=1..n} sum{j=1..n} wij}
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.
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 |
Julien Dutheil dutheil@evolbio.mpg.de and Emmanuel Paradis
Gittleman, J. L. and Kot, M. (1990) Adaptation: statistics and a null model for estimating phylogenetic effects. Systematic Zoology, 39, 227–241.
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
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.