I want to display species coordinates relative to an environmental variable using ordination surface (ordisurf
in vegan
package). In order to do this, I guess I have take the scaling of species scores into consideration. plot.cca
function in vegan
package seems to scale species proportional to eigenvalues (see example below) and leave site scores unscaled:
library(vegan)
data(varechem)
data(varespec)
mod <- cca(varespec ~ Al + P + K, varechem)
summary(mod, display = "species")
# Scaling 2 for species and site scores
# * Species are scaled proportional to eigenvalues
# * Sites are unscaled: weighted dispersion equal on all dimensions
plot(mod, type = "n")
points(mod, display = "sites", pch = 19, cex = 0.1)
ordisurf(mod, varechem$Al, add = TRUE)
text(mod, display = "species")
Species scores seem aligned correctly. Now if I specify another scaling:
scal <- "sites"
plot(mod, type = "n", scaling = scal)
points(mod, display = "sites", pch = 19, cex = 0.1, scalin = scal)
ordisurf(mod, varechem$Al, add = TRUE, scaling = scal)
text(mod, display = "species", scaling = scal, cex = 0.7)
Species scores get higher values than site scores. The ordination surface, however, seems linked to the site scores.
Related questions:
- Does the default scaling plot species scores such that they are correctly related to the ordination surface model?
- (Why) can(not) I specify other scaling such as "sites" (row scores) and still get the species scores correctly aligned related to ordination surface if I consequently specify this for all layers (as above)?
vegan
. It seems that by scaling you mean inertia normalization (see stats.stackexchange.com/a/141755/3277, "Spreading of inertia"). In CA, most often "symmetric" normalization is used to compare distances between row and column points on the map. $\endgroup$