PCA使用prcomp

时间:2018-03-27 05:13:40

标签: r

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

biplot(prcomp(mo, scale=TRUE)) 

我不知道为了在每个轴上显示PC百分比,我需要添加哪些代码。当我输入这段代码时:

    for state: UIControlState in [.normal, .highlighted, .disabled, .selected, .focused, .application, .reserved] {
        button.setTitle(NSLocalizedString("Title", comment: ""), for: state)
    }

它会自动向PC1和PC2显示我应该键入的代码,以便将PC2和PC3的图形组合在一起。

任何提示都将不胜感激。

1 个答案:

答案 0 :(得分:4)

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

例如,基本图表显示了每个PC在轴标签上解释的百分比差异。这是" screeplot"的替代品。柱:

library(ggfortify)
pc1 <- prcomp(iris[, 1:4]
autoplot(pc1, data = iris, colour = "Species")

enter image description here

使用xy参数指定不同的PC。您还可以显示载荷,如双色标记。

autoplot(pc1, data = iris, 
              colour = "Species", 
              loadings = TRUE, 
              loadings.label = TRUE, x = 2, y = 3)

enter image description here

如果您确实需要带有条形图的screeplot,则可以访问sdev对象中的prcomp

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

enter image description here