首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用prcomp的PCA

使用prcomp的PCA
EN

Stack Overflow用户
提问于 2018-03-27 13:13:40
回答 1查看 600关注 0票数 0

我正在使用PCA prcomp绘制我的数据。我需要的是显示每个原则的百分比我是说PC1,.....在X轴和Y轴上,以下是我的代码:

代码语言:javascript
复制
prcomp(x)
plot(prcomp(x))
summary(prcomp(x))
biplot(prcomp(x, scale=TRUE))

我不知道需要添加哪些代码才能显示每个轴上的PC百分比。另外,当我键入此代码时:

代码语言:javascript
复制
biplot(prcomp(mo, scale=TRUE)) 

它将自动显示PC1和PC2,例如,为了获得PC2和PC3的绘图,我应该输入哪些代码。

任何提示都将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2018-03-27 13:44:14

prcomp对象的基本R绘图方法是相当基本的。我会安装ggfortify包并查看these examples

例如,基本图显示了每台PC在轴标签上解释的百分比方差。这是"screeplot“条的替代方法:

代码语言:javascript
复制
library(ggfortify)
pc1 <- prcomp(iris[, 1:4]
autoplot(pc1, data = iris, colour = "Species")

您可以使用xy参数指定不同的PC。您还可以显示负载,就像在双线图中一样。

代码语言:javascript
复制
autoplot(pc1, data = iris, 
              colour = "Species", 
              loadings = TRUE, 
              loadings.label = TRUE, x = 2, y = 3)

如果您确实需要带条的屏幕图,您可以在prcomp对象中访问sdev

代码语言:javascript
复制
library(tidyverse)
data.frame(sd = pc1$sdev) %>% 
  mutate(pct = 100 * (sd/sum(sd))) %>% 
  ggplot(aes(1:4, pct)) + geom_col()

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49504810

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档