我有三个环境变量的环境样带数据。我在R的三个环境变量中执行了PCA。我想在一个主要组件上绘制我的点(我的横断面上的网站)。如果我在R中使用plot()
函数,它会生成一个二维双标图。
如何创建我的PCA的一维图?
这就是我所做的:
pca1= princomp(~ X250 + X500 + shear, data=data, scores=TRUE, cor=TRUE)
plot(pca1)
答案 0 :(得分:6)
如何创建我的PCA的一维图?
您可以使用素食主义包中的linestack()
功能获取单个PCA轴的图表(其他人已经指出了导致您只获得单个组件的错误情况)。
E.g:
library("vegan")
data(dune)
## fit PCA
pca <- rda(dune, scale = TRUE)
## 1D plot
linestack(scores(pca, choices = 1, display = "species"))
linestack(scores(pca, choices = 1, display = "sites"), side = "left", add = TRUE)
给出了
参数choices
选择您想要绘制的维度。在上面的示例中,这是组件1
,但可以通过这种方式选择任何组件。
答案 1 :(得分:1)
实际上,vegan::ordiplot()
知道prcomp
和princomp
结果,如果只请求一个轴,则会生成linestack
图表。这应该有效:
pca1 <- princomp(~ X250 + X500 + shear, data=data, scores=TRUE, cor=TRUE)
ordiplot(pca1, choices = 1)
行和列分数的缩放相对于彼此可能是奇数,但(rda
更平等地缩放。)