cca
), Redundancy Analysis
(rda
) or distance-based Redundancy Analysis (dbRDA,
capscale
) to assess the significance of constraints.## S3 method for class 'cca':
anova(object, ..., permutations = how(nperm=999),
by = NULL, model = c("reduced", "direct", "full"),
parallel = getOption("mc.cores"), strata = NULL,
cutoff = 1, scope = NULL)
## S3 method for class 'cca':
permutest(x, permutations = how(nperm = 99),
model = c("reduced", "direct"), first = FALSE, strata = NULL,
parallel = getOption("mc.cores"), ...)
how
, or the
number of permutations required, or a permutation matrix where each
row gives the permuted indices.by = "axis"
will assess significance for
each constrained axis, and setting by = "terms"
will assess
significance for each term (sequentially from first to last), and
setting by = "margin"
will asmodel="direct"
permutes
community data, and model="reduced"
permutes residuals
of the community data after Conditions (partial model).permutations
is a matrix, or a
by="axis"
where stops
permutations after an axis exceeds the cutoff
.by="margin"
where it can be
used to select the marginal terms for testing. The default is to
test all marginal terms in drop.scope
.anova.cca
passes all arguments to permutest.cca
. In anova
with
by = "axis"
you can use argument cutoff
(defaults
1
) which stopanova.cca
and permutest.cca
implement
ANOVA like permutation tests for the joint effect of constraints in
cca
, rda
or capscale
.
Functions anova.cca
and permutest.cca
differ in
printout style and in interface. Function permutest.cca
is
the proper workhorse, but anova.cca
passes all parameters to
permutest.cca
. Function anova
can analyse a sequence of constrained
ordination models. The analysis is based on the differences in
residual deviances in permutations of nested models.
The default test is for the sum of all constrained eigenvalues.
Setting first = TRUE
will perform a test for the first
constrained eigenvalue. Argument first
can be set either in
anova.cca
or in permutest.cca
. It is also possible to
perform significance tests for each axis or for each term
(constraining variable) using argument by
in
anova.cca
. Setting by = "axis"
will perform separate
significance tests for each constrained axis. All previous
constrained axes will be used as conditions (cutoff
to speed up
calculations in large models. Setting by = "terms"
will
perform separate significance test for each term (constraining
variable). The terms are assessed sequentially from first to last,
and the order of the terms will influence their
significances. Setting by = "margin"
will perform separate
significance test for each marginal term in a model with all other
terms. The marginal test also accepts a scope
argument for
the drop.scope
which can be a character vector of term
labels that are analysed, or a fitted model of lower scope. The
marginal effects are also known as model="direct"
,
and residuals after partial CCA/ RDA/ dbRDA with choice
model="reduced"
(default). If there is no partial CCA/
RDA/ dbRDA stage, model="reduced"
simply permutes the data
and is equivalent to model="direct"
. The test statistic is
X ~ Z
).
Consequently, the total Chi-square is not fixed, and test based on
pseudo-$F$ would differ from the test based on plain
eigenvalues. CCA is a weighted method, and environmental data are
re-weighted at each permutation step using permuted weights.
Legendre, P., Oksanen, J. and ter Braak, C.J.F. (2011). Testing the significance of canonical axes in redundancy analysis. Methods in Ecology and Evolution 2, 269--277.
anova.cca
, cca
,
rda
, capscale
to get something to
analyse. Function drop1.cca
calls anova.cca
with by = "margin"
, and add1.cca
an analysis
for single terms additions, which can be used in automatic or
semiautomatic model building (see deviance.cca
).data(varespec)
data(varechem)
vare.cca <- cca(varespec ~ Al + P + K, varechem)
## overall test
anova(vare.cca)
Run the code above in your browser using DataLab