在 R 中使用自动绘图 (ggfortify) 绘制主成分 3,4
plotting principal components 3,4 using autoplot (ggfortify) in R
我一直在尝试使用自动绘图(在 ggfortify R 包中)在 PCA 坐标中绘制数据点。对于数据矩阵 D2,
autoplot(prcomp(D2),colour=color_codes)
在主成分 1+2 的 space 中生成散点图方面效果很好。然而,PCA 分量 1+2 只解释了大约 30% 的协方差,我想对 PCA 1+3、2+3 和 3+4 等做同样的事情。autoplot 中是否有一个简单的参数可以让我这样做,如果不能,我可以使用的最简单的函数是什么?
此外,是否有一些方法可以使用自动绘图计算和添加质心?
来自 ?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)
我一直在尝试使用自动绘图(在 ggfortify R 包中)在 PCA 坐标中绘制数据点。对于数据矩阵 D2,
autoplot(prcomp(D2),colour=color_codes)
在主成分 1+2 的 space 中生成散点图方面效果很好。然而,PCA 分量 1+2 只解释了大约 30% 的协方差,我想对 PCA 1+3、2+3 和 3+4 等做同样的事情。autoplot 中是否有一个简单的参数可以让我这样做,如果不能,我可以使用的最简单的函数是什么?
此外,是否有一些方法可以使用自动绘图计算和添加质心?
来自 ?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)