| anova.cca {vegan} | R Documentation |
The function performs an ANOVA like permutation test for Constrained
Correspondence Analysis (cca), Redundancy Analysis
(rda) or Constrained Analysis of Principal Coordinates
(capscale) to assess the significance of constraints.
## S3 method for class 'cca':
anova(object, alpha=0.05, beta=0.01, step=100, perm.max=9999,
by = NULL, ...)
permutest.cca(x, permutations = 100,
model = c("direct", "reduced", "full"),
first = FALSE, strata, ...)
object,x |
A result object from cca. |
alpha |
Targeted Type I error rate. |
beta |
Accepted Type II error rate. |
step |
Number of permutations during one step. |
perm.max |
Maximum number of permutations. |
by |
Setting 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 assess the marginal effects of the
terms (each marginal term analysed in a model with all other
variables). |
... |
Parameters to permutest.cca. |
permutations |
Number of permutations for assessing significance of constraints. |
model |
Permutation model (partial match). |
first |
Assess only the significance of the first constrained
eigenvalue; will be passed from anova.cca. |
strata |
An integer vector or factor specifying the strata for permutation. If supplied, observations are permuted only within the specified strata. |
Functions anova.cca and permutest.cca implement an ANOVA
like permutation test 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.
In anova.cca the number of permutations is controlled by
targeted ``critical'' P value (alpha) and accepted Type
II or rejection error (beta). If the results of permutations
differ from the targeted alpha at risk level given by
beta, the permutations are
terminated. If the current estimate of P does not
differ significantly from alpha of the alternative hypothesis,
the permutations are
continued with step new permutations (at the first step, the
number of permuations is step - 1). However, with by =
"terms" a fixed number of permutations will be used, and this
is given by argument permutations, or if this is missing,
by step.
The function permutest.cca implements a permutation test for
the ``significance'' of constraints in cca,
rda or capscale. Community data are
permuted with choice model = "direct", residuals after
partial CCA/RDA/CAP with choice model = "reduced",
and residuals after CCA/RDA/CAP under choice model = "full".
If there is no partial CCA/RDA/CAP stage, model = "reduced"
simply permutes the data. The test statistic is ``pseudo-F'',
which is the ratio of constrained and unconstrained total Inertia
(Chi-squares, variances or something similar), each divided by their
respective ranks. If there are no conditions ("partial" terms), the
sum of all eigenvalues remains constant, so that pseudo-F and
eigenvalues would give equal results. In partial CCA/RDA/CAP, the
effect of conditioning variables (``covariables'') is removed before
permutation, and these residuals are added to the non-permuted fitted
values of partial CCA (fitted values of 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.
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 (“partialled out”) and a test for the first
constrained eigenvalues is performed. 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. These are similar to
“Type III” effects, but the current function only evaluates
marginal terms. It will, for instance, ignore main effects that are
included in interaction terms. In calculating pseudo-F, all
terms are compared to the same residual of the full
model. Permutations for all axes or terms will start from the same
.Random.seed, and the seed will be advanced to the value
after the longest permutation at the exit from the function.
Function permutest.cca returns an object of class
"permutest.cca", which has its own print method. The
function anova.cca calls permutest.cca, fills an
anova table and uses print.anova for printing.
Jari Oksanen
Legendre, P. and Legendre, L. (1998). Numerical Ecology. 2nd English ed. Elsevier.
data(varespec) data(varechem) vare.cca <- cca(varespec ~ Al + P + K, varechem) anova(vare.cca) anova(vare.cca, by="axis", perm.max=500) anova(vare.cca, by="terms", permu=200) anova(vare.cca, by="margin")