R: Mantel and Partial Mantel Tests for Dissimilarity Matrices
mantel
R Documentation
Mantel and Partial Mantel Tests for Dissimilarity Matrices
Description
Function mantel finds the Mantel statistic as a matrix
correlation between two dissimilarity matrices, and function
mantel.partial finds the partial Mantel statistic as the
partial matrix correlation between three dissimilarity matrices. The
significance of the statistic is evaluated by permuting rows and
columns of the first dissimilarity matrix.
Correlation method, as accepted by cor:
"pearson", "spearman" or "kendall".
permutations
a list of control values for the permutations
as returned by the function how, or the
number of permutations required, or a permutation matrix where each
row gives the permuted indices.
strata
An integer vector or factor specifying the strata for
permutation. If supplied, observations are permuted only within the
specified strata.
na.rm
Remove missing values in calculation of Mantel
correlation. Use this option with care: Permutation tests can
be biased, in particular if two matrices had missing values in
matching positions.
parallel
Number of parallel processes or a predefined socket
cluster. With parallel = 1 uses ordinary, non-parallel
processing. The parallel processing is done with parallel
package.
Details
Mantel statistic is simply a correlation between entries of two
dissimilarity matrices (some use cross products, but these are linearly
related). However, the significance cannot be directly assessed,
because there are N(N-1)/2 entries for just N observations.
Mantel developed asymptotic test, but here we use permutations of
N rows and columns of dissimilarity matrix. See
permutations for additional details on permutation tests
in Vegan.
Partial Mantel statistic uses partial correlation
conditioned on the third matrix. Only the first matrix is permuted so
that the correlation structure between second and first matrices is
kept constant. Although mantel.partial silently accepts other
methods than "pearson", partial correlations will probably be
wrong with other methods.
The function uses cor, which should accept
alternatives pearson for product moment correlations and
spearman or kendall for rank correlations.
Value
The function returns a list of class mantel with following
components:
Call
Function call.
method
Correlation method used, as returned by
cor.test.
statistic
The Mantel statistic.
signif
Empirical significance level from permutations.
perm
A vector of permuted values. The distribution of
permuted values can be inspected with permustats
function.
permutations
Number of permutations.
control
A list of control values for the permutations
as returned by the function how.
Note
Legendre & Legendre (2012, Box 10.4) warn against using partial
Mantel correlations.
Author(s)
Jari Oksanen
References
The test is due to Mantel, of course, but the
current implementation is based on Legendre and Legendre.
Legendre, P. and Legendre, L. (2012) Numerical Ecology. 3rd English
Edition. Elsevier.
See Also
cor for correlation coefficients,
protest (“Procrustes test”) for an alternative with
ordination diagrams, anosim and mrpp
for comparing dissimilarities against
classification. For dissimilarity matrices, see vegdist
or dist. See bioenv for selecting
environmental variables.
Examples
## Is vegetation related to environment?
data(varespec)
data(varechem)
veg.dist <- vegdist(varespec) # Bray-Curtis
env.dist <- vegdist(scale(varechem), "euclid")
mantel(veg.dist, env.dist)
mantel(veg.dist, env.dist, method="spear")