Functions to plot or extract results of constrained correspondence analysis
(`cca`

), redundancy analysis (`rda`

) or
constrained analysis of principal coordinates (`capscale`

).

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | ```
## S3 method for class 'cca'
plot(x, choices = c(1, 2), display = c("sp", "wa", "cn"),
scaling = "species", type, xlim, ylim, const,
correlation = FALSE, hill = FALSE, ...)
## S3 method for class 'cca'
text(x, display = "sites", labels, choices = c(1, 2),
scaling = "species", arrow.mul, head.arrow = 0.05, select, const,
axis.bp = TRUE, correlation = FALSE, hill = FALSE, ...)
## S3 method for class 'cca'
points(x, display = "sites", choices = c(1, 2),
scaling = "species", arrow.mul, head.arrow = 0.05, select, const,
axis.bp = TRUE, correlation = FALSE, hill = FALSE, ...)
## S3 method for class 'cca'
scores(x, choices = c(1,2), display = c("sp","wa","cn"),
scaling = "species", hill = FALSE, ...)
## S3 method for class 'rda'
scores(x, choices = c(1,2), display = c("sp","wa","cn"),
scaling = "species", const, correlation = FALSE, ...)
## S3 method for class 'cca'
summary(object, scaling = "species", axes = 6,
display = c("sp", "wa", "lc", "bp", "cn"),
digits = max(3, getOption("digits") - 3),
correlation = FALSE, hill = FALSE, ...)
## S3 method for class 'summary.cca'
print(x, digits = x$digits, head = NA, tail = head, ...)
## S3 method for class 'summary.cca'
head(x, n = 6, tail = 0, ...)
## S3 method for class 'summary.cca'
tail(x, n = 6, head = 0, ...)
``` |

`x, object` |
A |

`choices` |
Axes shown. |

`display` |
Scores shown. These must include some of the
alternatives |

`scaling` |
Scaling for species and site scores. Either species
( The type of scores can also be specified as one of |

`correlation, hill` |
logical; if |

`type` |
Type of plot: partial match to |

`xlim, ylim` |
the x and y limits (min,max) of the plot. |

`labels` |
Optional text to be used instead of row names. |

`arrow.mul` |
Factor to expand arrows in the graph. Arrows will be scaled automatically to fit the graph if this is missing. |

`head.arrow` |
Default length of arrow heads. |

`select` |
Items to be displayed. This can either be a logical
vector which is |

`const` |
General scaling constant to |

`axis.bp` |
Draw |

`axes` |
Number of axes in summaries. |

`digits` |
Number of digits in output. |

`n, head, tail` |
Number of rows printed from the head and tail of
species and site scores. Default |

`...` |
Parameters passed to other functions. |

Same `plot`

function will be used for `cca`

and
`rda`

. This produces a quick, standard plot with current
`scaling`

.

The `plot`

function sets colours (`col`

), plotting
characters (`pch`

) and character sizes (`cex`

) to
certain standard values. For a fuller control of produced plot, it is
best to call `plot`

with `type="none"`

first, and then add
each plotting item separately using `text.cca`

or
`points.cca`

functions. These use the default settings of standard
`text`

and `points`

functions and accept all
their parameters, allowing a full user control of produced plots.

Environmental variables receive a special treatment. With
`display="bp"`

, arrows will be drawn. These are labelled with
`text`

and unlabelled with `points`

. The arrows have
basically unit scaling, but if sites were scaled (`scaling`

`"sites"`

or `"symmetric"`

), the scores of requested axes
are adjusted relative to the axis with highest eigenvalue. With
`scaling = "species"`

or `scaling = "none"`

, the arrows will
be consistent with vectors fitted to linear combination scores
(`display = "lc"`

in function `envfit`

), but with
other scaling alternatives they will differ. The basic `plot`

function uses a simple heuristics for adjusting the unit-length arrows
to the current plot area, but the user can give the expansion factor
in `mul.arrow`

. With `display="cn"`

the centroids of levels
of `factor`

variables are displayed (these are available
only if there were factors and a formula interface was used in
`cca`

or `rda`

). With this option continuous
variables still are presented as arrows and ordered factors as arrows
and centroids.

If you want to have still a better control of plots, it is better to
produce them using primitive `plot`

commands. Function
`scores`

helps in extracting the
needed components with the selected `scaling`

.

Function `summary`

lists all scores and the output can be very
long. You can suppress scores by setting `axes = 0`

or
`display = NA`

or `display = NULL`

. You can display some
first or last (or both) rows of scores by using `head`

or
`tail`

or explicit `print`

command for the `summary`

.

Palmer (1993) suggested using linear constraints
(“LC scores”) in ordination diagrams, because these gave better
results in simulations and site scores (“WA scores”) are a step from
constrained to unconstrained analysis. However, McCune (1997) showed
that noisy environmental variables (and all environmental
measurements are noisy) destroy “LC scores” whereas “WA scores”
were little affected. Therefore the `plot`

function uses site
scores (“WA scores”) as the default. This is consistent with the
usage in statistics and other functions in **R**
(`lda`

, `cancor`

).

The `plot`

function returns invisibly a plotting structure which
can be used by function `identify.ordiplot`

to identify
the points or other functions in the `ordiplot`

family.

Package ade4 has function `cca`

which
returns constrained correspondence analysis of the same class as the
vegan function. If you have results of ade4 in your
working environment, vegan functions may try to handle them and
fail with cryptic error messages. However, there is a simple utility
function `ade2vegancca`

which tries to translate ade4
`cca`

results to vegan `cca`

results so that some
vegan functions may work partially with ade4 objects
(with a warning).

Jari Oksanen

`cca`

, `rda`

and `capscale`

for getting something
to plot, `ordiplot`

for an alternative plotting routine
and more support functions, and `text`

,
`points`

and `arrows`

for the basic routines.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | ```
data(dune)
data(dune.env)
mod <- cca(dune ~ A1 + Moisture + Management, dune.env)
plot(mod, type="n")
text(mod, dis="cn")
points(mod, pch=21, col="red", bg="yellow", cex=1.2)
text(mod, "species", col="blue", cex=0.8)
## Limited output of 'summary'
head(summary(mod), tail=2)
## Scaling can be numeric or more user-friendly names
## e.g. Hill's scaling for (C)CA
scrs <- scores(mod, scaling = "sites", hill = TRUE)
## or correlation-based scores in PCA/RDA
scrs <- scores(rda(dune ~ A1 + Moisture + Management, dune.env),
scaling = "sites", correlation = TRUE)
``` |

Questions? Problems? Suggestions? Tweet to @rdrrHQ or email at ian@mutexlabs.com.

All documentation is copyright its authors; we didn't write any of that.