使用R中的autoplot(ggfortify)绘制主成分3,4

时间:2017-07-11 20:26:58

标签: r ggplot2 pca ggfortify

我一直在尝试使用autoplot(在ggfortify R包中)绘制PCA坐标中的数据点。对于数据矩阵D2,

autoplot(prcomp(D2),colour=color_codes)

在主成分1 + 2的空间中生成点的散点图时工作正常。然而,PCA组件1 + 2只能解释大约30%的协方差,我想对PCA 1 + 3,2 + 3和3 + 4等做同样的事情。在autoplot中是否会有一个简单的参数让我这样做,如果没有,我可以使用的最简单的功能是什么?

此外,有没有办法使用autoplot计算和添加质心?

1 个答案:

答案 0 :(得分:0)

来自?autoplot.prcomp
autoplot(object, data = NULL, scale = 1, x = 1, y = 2, ...)
其中:
x = principal component number used in x axis
y = principal component number used in y axis

因此,如果您需要绘制PC2与PC3并添加质心:

library(ggfortify)
set.seed(1)
D2 <- matrix(rnorm(1000),ncol=10)

prcmp <- prcomp(D2)
pc.x <- 2
pc.y <- 3
cnt.x <- mean(prcmp$x[,pc.x])
cnt.y <- mean(prcmp$x[,pc.y])
autoplot(prcmp, x=2, y=3) +
  geom_point(x=cnt.x, y=cnt.y, colour="red", size=5)

enter image description here