使用 ggord 在没有环境向量的情况下绘制 PCA 结果图

graph PCA results without environmental vectors using ggord

我正在使用 ggord 图形包绘制 R Vegan 的 PCA 结果。

我想在不添加环境变量的情况下绘制 PCA 图。在 R Vegan 中,可以毫无问题地绘制 PCA,但在 ggord 中,相同的图形将不起作用。 ggord 文档给出的示例包括在 PCA 图形上绘制向量的环境数据集的代码。我想在 ggord 中绘制我可以在 vegan 中创建的相同结果,而无需环境向量。

Vegan 中的代码,使用样本数据集,生成我想要的那种图表:

ord<-rda(varespec, scale = TRUE)
ord
plot(ord, scaling=3)

ggord documentation使用相同的数据集创建相同的图表,只是它包含一个环境数据集:

data(varespec)
data(varechem)
ord <- rda(varespec, varechem)
ggord(ord)

但是,当我尝试在没有环境 (varechem) 数据的情况下重新创建此图时,R 给我一个错误:

ord <- rda(varespec)
ggord(ord)

Error in names(obs)[1:2] <- axes : 
'names' attribute [2] must be the same length as the vector [

我也试过包含一个虚拟变量,但失败了,并给了我一个不同的错误。

dummy<-rep(0, 24)
dummy<-as.data.frame(dummy)

ord<-rda(varespec, dummy)
ord
ggord(ord)

Error in ord_in$CCA$wa[, axes] : no 'dimnames' attribute for array

是否可以像在 Vegan 中那样在 ggord 中创建没有环境数据的图表?如果可以,我该怎么做?

不要忘记输入 ?ggord 是找出函数中可用选项的好方法。

试试这个:

library(vegan)
library(ggord)

data(varespec)
data(varechem)
names(varechem)<-NULL
ord <- rda(varespec, varechem,scale=TRUE)
ggo<-ggord(ord,arrow=NULL,ptslab=TRUE,obslab=TRUE)
ggo

给出: