particular distribution in the Doubs data set). Arrows of species that are more present
at one end of the river point in the direction of the dfs variable or opposite to it.
# Create a matrix of dfs and its orthogonal second degree term
# using function poly()
dfs.df <- poly(dfs, 2)
colnames(dfs.df) <- c("dfs", "dfs2")
# Verify that the polynomial terms are orthogonal
cor(dfs.df)
# Find out if both variables are significant
forward.sel(spe.hel, dfs.df)
# RDA and test
spe.dfs.rda <- rda(spe.hel ~ ., as.data.frame(dfs.df))
anova(spe.dfs.rda)
# Triplot using “lc” (model) site scores and scaling 2
triplot.rda(spe.dfs.rda,
site.sc = "lc",
scaling = 2,
plot.sites = FALSE,
pos.env = 1,
mult.arrow = 0.9,
move.origin = c(-0.25, 0),
mar.percent = 0
)
Hint If one computes raw second-degree variables by hand (i.e., by squaring firstdegree variables) or by applying argument raw = TRUE to function poly(),
it is better to centre the first-degree variables before computing the second-degree
terms, otherwise the latter will be strongly linearly related to the former. This is
not necessary when using poly() with raw = FALSE (default).
We drew a scaling 2 triplot because we were interested primarily in the relationships among the species. At first glance, this triplot looks like some mistake has been
made, but in fact it displays exactly what has been asked for. The surprising feature
is, of course, the curved distribution of the sites in the plot. Since we modelled the
data by means of a second-degree function (i.e., a parabolic function) of the distance
from the source, the modelled data (option "lc") form a parabola. If you want a
triplot showing the sites in a configuration closer to the data, replace "lc" by "wa"
in the plotting function above.
To illustrate the interpretation of the first-order dfs and the second-order dfs2
variables, let us take some fish species as examples. We will map them along the
river to make the comparison easier (Fig. 6.8). The four examples are the brown trout
(Satr), the grayling (Thth), the bleak (Alal) and the tench (Titi). The code is
the one used in Sect. 2.2.3 to produce Fig. 2.3.
Comparing the ordination triplot with these four maps shows how to interpret the
fish vectors in combination with the two variables dfs and dfs2. Among all
246
6 Canonical Ordination
at one end of the river point in the direction of the dfs variable or opposite to it.
# Create a matrix of dfs and its orthogonal second degree term
# using function poly()
dfs.df <- poly(dfs, 2)
colnames(dfs.df) <- c("dfs", "dfs2")
# Verify that the polynomial terms are orthogonal
cor(dfs.df)
# Find out if both variables are significant
forward.sel(spe.hel, dfs.df)
# RDA and test
spe.dfs.rda <- rda(spe.hel ~ ., as.data.frame(dfs.df))
anova(spe.dfs.rda)
# Triplot using “lc” (model) site scores and scaling 2
triplot.rda(spe.dfs.rda,
site.sc = "lc",
scaling = 2,
plot.sites = FALSE,
pos.env = 1,
mult.arrow = 0.9,
move.origin = c(-0.25, 0),
mar.percent = 0
)
Hint If one computes raw second-degree variables by hand (i.e., by squaring firstdegree variables) or by applying argument raw = TRUE to function poly(),
it is better to centre the first-degree variables before computing the second-degree
terms, otherwise the latter will be strongly linearly related to the former. This is
not necessary when using poly() with raw = FALSE (default).
We drew a scaling 2 triplot because we were interested primarily in the relationships among the species. At first glance, this triplot looks like some mistake has been
made, but in fact it displays exactly what has been asked for. The surprising feature
is, of course, the curved distribution of the sites in the plot. Since we modelled the
data by means of a second-degree function (i.e., a parabolic function) of the distance
from the source, the modelled data (option "lc") form a parabola. If you want a
triplot showing the sites in a configuration closer to the data, replace "lc" by "wa"
in the plotting function above.
To illustrate the interpretation of the first-order dfs and the second-order dfs2
variables, let us take some fish species as examples. We will map them along the
river to make the comparison easier (Fig. 6.8). The four examples are the brown trout
(Satr), the grayling (Thth), the bleak (Alal) and the tench (Titi). The code is
the one used in Sect. 2.2.3 to produce Fig. 2.3.
Comparing the ordination triplot with these four maps shows how to interpret the
fish vectors in combination with the two variables dfs and dfs2. Among all
246
6 Canonical Ordination
