adonis2(formula, data, permutations = 999, method = "bray", sqrt.dist = FALSE, add = FALSE, by = "terms", parallel = getOption("mc.cores"), ...)
adonis(formula, data, permutations = 999, method = "bray", strata = NULL, contr.unordered = "contr.sum", contr.ordered = "contr.poly", parallel = getOption("mc.cores"), ...)
vegdist
or dist
. If the LHS is a data
matrix, function vegdist
will be used to find the
dissimilarities. The RHS defines the independent variables. These
can be continuous variables or factors, they can be transformed
within the formula, and they can have interactions as in a typical
formula
. If a dissimilarity object is supplied, no
species coefficients can be calculated in adonis
(see Value
below).how
, or the
number of permutations required, or a permutation matrix where each
row gives the permuted indices.vegdist
to
calculate pairwise distances if the left hand side of the
formula
was a data frame or a matrix. wcmdscale
for
details). Choice "lingoes"
(or TRUE
) use the
recommended method of Legendre & Anderson (1999: “method
1”) and "cailliez"
uses their “method 2”.by = "terms"
will assess significance for each term
(sequentially from first to last), setting by = "margin"
will assess the marginal effects of the terms (each marginal term
analysed in a model with all other variables), and by =
NULL
will assess the overall significance of all terms
together. The arguments is passed on to anova.cca
.parallel = 1
uses ordinary, non-parallel
processing. The parallel processing is done with parallel
package.vegdist
.adonis2
returns an anova.cca
result
object. Function adonis
returns an object of class
"adonis"
with following components:permustats
and its support functions.model.matrix
for the right hand
side of the formula.terms
component of the model.adonis2
and adonis
are functions for the analysis and
partitioning sums of squares using dissimilarities. Function
adonis
is directly based on the algorithm of Anderson (2001) and
performs a sequential test of terms. Function adonis2
is based on
the principles of McArdle & Anderson (2001) and can perform sequential,
marginal and overall tests. Function adonis2
also allows using
additive constants or squareroot of dissimilarities to avoid negative
eigenvalues. but both functions can handle semimetric indices (such as
Bray-Curtis) that produce negative eigenvalues. Function adonis2
can be much slower than adonis
, in particular with several
terms. With the same random permutation, tests are identical in both
functions, and the results are also identical to anova.cca
of dbrda
and capscale
. With Euclidean
distances, the tests are also identical to anova.cca
of
rda
.
The functions partition sums of squares of a multivariate data set, and
they are directly analogous to MANOVA (multivariate analysis of
variance). McArdle and Anderson (2001) and Anderson (2001) refer to the
method as “permutational manova” (formerly “nonparametric
manova”). Further, as the inputs are linear predictors, and a response
matrix of an arbitrary number of columns, they are a robust alternative
to both parametric MANOVA and to ordination methods for describing how
variation is attributed to different experimental treatments or
uncontrolled covariates. Functions are also analogous to distance-based
redundancy analysis in functions dbrda
and
capscale
(Legendre and Anderson 1999). Functions provide
an alternative to AMOVA (nested analysis of molecular variance,
Excoffier, Smouse, and Quattro, 1992; amova
in the
ade4 package) for both crossed and nested factors.
Excoffier, L., P.E. Smouse, and J.M. Quattro. 1992. Analysis of molecular variance inferred from metric distances among DNA haplotypes: Application to human mitochondrial DNA restriction data. Genetics, 131:479--491.
Legendre, P. and M.J. Anderson. 1999. Distance-based redundancy analysis: Testing multispecies responses in multifactorial ecological experiments. Ecological Monographs, 69:1--24.
McArdle, B.H. and M.J. Anderson. 2001. Fitting multivariate models to community data: A comment on distance-based redundancy analysis. Ecology, 82: 290--297.
Warton, D.I., Wright, T.W., Wang, Y. 2012. Distance-based multivariate analyses confound location and dispersion effects. Methods in Ecology and Evolution, 3, 89--101.
mrpp
, anosim
,
mantel
, varpart
. data(dune)
data(dune.env)
## default test by terms
adonis2(dune ~ Management*A1, data = dune.env)
## overall tests
adonis2(dune ~ Management*A1, data = dune.env, by = NULL)
### Example of use with strata, for nested (e.g., block) designs.
dat <- expand.grid(rep=gl(2,1), NO3=factor(c(0,10)),field=gl(3,1) )
dat
Agropyron <- with(dat, as.numeric(field) + as.numeric(NO3)+2) +rnorm(12)/2
Schizachyrium <- with(dat, as.numeric(field) - as.numeric(NO3)+2) +rnorm(12)/2
total <- Agropyron + Schizachyrium
dotplot(total ~ NO3, dat, jitter.x=TRUE, groups=field,
type=c('p','a'), xlab="NO3", auto.key=list(columns=3, lines=TRUE) )
Y <- data.frame(Agropyron, Schizachyrium)
mod <- metaMDS(Y)
plot(mod)
### Ellipsoid hulls show treatment
with(dat, ordiellipse(mod, field, kind = "ehull", label = TRUE))
### Spider shows fields
with(dat, ordispider(mod, field, lty=3, col="red"))
### Incorrect (no strata)
perm <- how(nperm = 199)
adonis2 (Y ~ NO3, data = dat, permutations = perm)
## Correct with strata
setBlocks(perm) <- with(dat, field)
adonis2(Y ~ NO3, data = dat, permutations = perm)
Run the code above in your browser using DataLab