cca performs correspondence analysis, or optionally
  constrained correspondence analysis (a.k.a. canonical correspondence
  analysis), or optionally partial constrained correspondence
  analysis. Function rda performs redundancy analysis, or
  optionally principal components analysis.
  These are all very popular ordination techniques in community ecology.## S3 method for class 'formula':
cca(formula, data, na.action = na.fail, subset = NULL,
  ...)
## S3 method for class 'default':
cca(X, Y, Z, ...)
## S3 method for class 'formula':
rda(formula, data, scale=FALSE, na.action = na.fail,
  subset = NULL, ...)
## S3 method for class 'default':
rda(X, Y, Z, scale=FALSE, ...)Condition.TRUE for kept observations, or a logical expression which
    can contain variables in the working environment, data or
    species names of the community data.print or plot functions
    (ignored in other functions).cca returns a huge object of class cca, which
  is described separately in cca.object.  Function rda returns an object of class rda which
  inherits from class cca and is described in cca.object.
  The scaling used in rda scores is described in a separate
  vignette with this package.
cca and rda are  similar to popular
  proprietary software Canoco, although the implementation is
  completely different.  The functions are based on Legendre &
  Legendre's (1998) algorithm: in cca
  Chi-square transformed data matrix is subjected to weighted linear
  regression on constraining variables, and the fitted values are
  submitted to correspondence analysis performed via singular value
  decomposition (svd). Function rda is similar, but uses
  ordinary, unweighted linear regression and unweighted SVD.The functions can be called either with matrix-like entries for community data and constraints, or with formula interface. In general, the formula interface is preferred, because it allows a better control of the model and allows factor constraints.
  In the following sections, X, Y and Z, although
  referred to as matrices, are more commonly data frames.
  In the matrix interface, the
  community data matrix X must be given, but the other data
  matrices may be omitted, and the corresponding stage of analysis is
  skipped.  If matrix Z is supplied, its effects are removed from
  the community matrix, and the residual matrix is submitted to the next
  stage.  This is called `partial' correspondence or redundancy
  analysis.  If matrix
  Y is supplied, it is used to constrain the ordination,
  resulting in constrained or canonical correspondence analysis, or
  redundancy analysis.
  Finally, the residual is submitted to ordinary correspondence
  analysis (or principal components analysis).  If both matrices
  Z and Y are missing, the
  data matrix is analysed by ordinary correspondence analysis (or
  principal components analysis).
  Instead of separate matrices, the model can be defined using a model
  formula.  The left hand side must be the
  community data matrix (X).  The right hand side defines the
  constraining model.
  The constraints can contain ordered or unordered factors,
  interactions among variables and functions of variables.  The defined
  contrasts are honoured in factor
  variables.  The constraints can also be matrices (but not data
  frames).
  The formula can include a special term Condition
  for conditioning variables (``covariables'') ``partialled out'' before
  analysis.  So the following commands are equivalent: cca(X, Y,
    Z), cca(X ~ Y + Condition(Z)), where Y and Z
  refer to constraints and conditions matrices respectively.
  Constrained correspondence analysis is indeed a constrained method:
  CCA does not try to display all variation in the
  data, but only the part that can be explained by the used constraints.
  Consequently, the results are strongly dependent on the set of
  constraints and their transformations or interactions among the
  constraints.  The shotgun method is to use all environmental variables
  as constraints.  However, such exploratory problems are better
  analysed with
  unconstrained methods such as correspondence analysis
  (decorana, corresp) or non-metric
  multidimensional scaling (metaMDS) and
  environmental interpretation after analysis
  (envfit, ordisurf).
  CCA is a good choice if the user has
  clear and strong a priori hypotheses on constraints and is not
  interested in the major structure in the data set.  
CCA is able to correct the curve artefact commonly found in correspondence analysis by forcing the configuration into linear constraints. However, the curve artefact can be avoided only with a low number of constraints that do not have a curvilinear relation with each other. The curve can reappear even with two badly chosen constraints or a single factor. Although the formula interface makes easy to include polynomial or interaction terms, such terms often produce curved artefacts (that are difficult to interpret), these should probably be avoided.
  According to folklore, rda should be used with ``short
  gradients'' rather than cca. However, this is not based
  on research which finds methods based on Euclidean metric as uniformly
  weaker than those based on Chi-squared metric.  However, standardized
  Euclidean distance may be an appropriate measures (see Hellinger
  standardization in decostand in particular).
  
  Partial CCA (pCCA; or alternatively partial RDA) can be used to remove
  the effect of some
  conditioning or ``background'' or ``random'' variables or
  ``covariables'' before CCA proper.  In fact, pCCA compares models
  cca(X ~ Z) and cca(X ~ Y + Z) and attributes their
  difference to the effect of Y cleansed of the effect of
  Z.  Some people have used the method for extracting
  ``components of variance'' in CCA.  However, if the effect of
  variables together is stronger than sum of both separately, this can
  increase total Chi-square after ``partialling out'' some
  variation, and give negative ``components of variance''.  In general,
  such components of ``variance'' are not to be trusted due to
  interactions between two sets of variables.
  
  The functions have summary and plot methods which are
  documented separately (see plot.cca, summary.cca).
Legendre, P. and Legendre, L. (1998) Numerical Ecology. 2nd English ed. Elsevier.
McCune, B. (1997) Influence of noisy environmental data on canonical correspondence analysis. Ecology 78, 2617-2623. Palmer, M. W. (1993) Putting things in even better order: The advantages of canonical correspondence analysis. Ecology 74,2215-2230. Ter Braak, C. J. F. (1986) Canonical Correspondence Analysis: a new eigenvector technique for multivariate direct gradient analysis. Ecology 67, 1167-1179.
plot.cca and
  summary.cca functions
  with their helper functions (text.cca,
  points.cca, scores.cca).
  Function anova.cca provides an ANOVA like permutation
  test for the ``significance'' of constraints. Automatic model building
  (dangerous!) is discussed in deviance.cca.  Diagnostic
  tools, prediction and adding new points in ordination are discussed in
  goodness.cca and predict.cca.
  Function  cca (library capscale is a non-Euclidean generalization of
  rda. The result object is described in
  cca.object.
  You can use as.mlm to refit ordination result as a
  multiple response linear model to find some descriptive statistics.
  Design decisions are explained in
  vignette vegandocs.data(varespec)
data(varechem)
## Common but bad way: use all variables you happen to have in your
## environmental data matrix
vare.cca <- cca(varespec, varechem)
vare.cca
plot(vare.cca)
## Formula interface and a better model
vare.cca <- cca(varespec ~ Al + P*(K + Baresoil), data=varechem)
vare.cca
plot(vare.cca)
## `Partialling out' and `negative components of variance'
cca(varespec ~ Ca, varechem)
cca(varespec ~ Ca + Condition(pH), varechem)
## RDA
data(dune)
data(dune.env)
dune.Manure <- rda(dune ~ Manure, dune.env)
plot(dune.Manure) 
## For further documentation:
vegandocs("decision")Run the code above in your browser using DataLab