Я думаю, проблема в том, что названия видов должны быть названиями столбцов (названиями векторов), а не названиями строк. Но приведенного вами примера недостаточно для того, чтобы по-настоящему разобраться в этом. Не могли бы вы в следующий раз привести небольшой воспроизводимый пример проблемы. Это также упрощает предоставление помощи и ответ на ваш вопрос. Если я быстро попытаюсь понять, в чем проблема, у меня не возникнет проблемы, когда я нанесу на график результаты CCA, см. Пример ниже.
spec <- as.data.frame(matrix(ncol = 1, nrow = 100))
for(i in 1:556){
spec[,paste("sp",i)] <- rbinom(100,1,0.5)
}
#This is awkward, ignore this bad coding part
spec <- spec[-1]
eiv <- as.data.frame(matrix(ncol = 1, nrow = 100))
for(i in 1:10){
eiv[,paste("var", i)] <- rnorm(100)
}
#again very akward
eiv <- eiv[-1]
cca1 <- vegan::cca(spec, eiv)
col<-c(rep("grey", 369), rep("red", 135),rep("green",52))
shp<- c(rep(1, 369), rep(15, 135),rep(17,52))
cex<- c(rep(0.5, 369), rep(0.7, 135),rep(0.7,52))
lgd<- c(rep("Herbs", 369), rep("Mosses",135), rep("Lichen",52))
spnames<-colnames(spec[,1:556])
ordiplot (cca1, display = 'sp', type = 'n', main ="CCA Alpine Species using EIV" )
points(cca1, display = "species", cex = cex, pch = shp, col = col, scaling=3)
text(cca1, display = "species",labels=spnames,scaling=3)
text(cca1, display = "bp", col = "grey40", cex = 0.8, scaling=3)
legend(x="topright", legend=unique(lgd), col = unique(col), pch = unique(shp))
Кроме того, отображение названий 556 видов на графике не сработает, как вы можете видеть в результатах. Это можно было бы уменьшить с помощью чего-то вроде функции orditorp (https://fromthebottomoftheheap.net/2013/01/13/decluttering-ordination-plots-in-vegan-part-2-orditorp/), но я не знаком с ней. Или удалите некоторые виды, которые встречаются не очень часто. Я думаю, это необходимо, поскольку они так или иначе влияют на «объясненный вариант» вашего ОСО. Вы также можете обратиться к численным результатам CCA, посмотрев на оценки видов. . Кроме того, повторное выполнение CCA для этих видов может дать более красивый график, но, конечно, очень предвзято, так как вы удаляете большую часть видов и создаете новую CCA на крайних участках. Я предлагаю сначала взглянуть на вопрос, на который вы хотите ответить.
Надеюсь, это поможет