如何使用函数 ggord 显示分类变量的质心而不是箭头?

How to display centroids for categorical variables instead of arrows using function ggord?

我真的不知道如何使用函数 ggord 只显示我的分类变量的质心。如果有人可以帮助我,那就太好了。 这是我尝试使用沙丘数据集实现的示例:

    library(vegan)
    library (ggord)
    library(ggplot2)

    ord <- rda(dune~Moisture+ Management+A1,dune.env)
    
#first plot
    plot(ord)

# second plot
    ggord(ord)
#I tried to add the centroids, but somehow the whole plot seems to be differently scaled?

centroids<-ord$CCA$centroids
ggord(ord)+geom_point(aes(centroids[,1],centroids[,2]),pch=4,cex=5,col="black",data=as.data.frame(centroids)) 

在第一个图中,仅显示水分和管理的质心(而不是箭头)。在 ggord 图中,每个变量都用箭头显示。

为什么这些情节看起来如此不同?轴的刻度完全不同?

这样的方法可行 - 您可以使用 var_sub 参数来保留特定的预测变量(例如,连续的),然后将其他变量绘制在 ggord 对象之上。

library(vegan)
library(ggord)
library(ggplot2)

data(dune)
data(dune.env)
ord <- rda(dune~Moisture+ Management+A1,dune.env)

# get centroids for factors
centroids <- data.frame(ord$CCA$centroids)
centroids$labs <- row.names(centroids)

# retain only continuous predictors, then add factor centroids
ggord(ord, var_sub = 'A1') +
  geom_text(data = centroids, aes(x = RDA1, y = RDA2, label = labs))