R PCA:使用 fviz_pca_ind 函数,我们可以有两个分类变量:一个点形状和一种填充颜色吗?

Xav*_*v64 5 r pca factoextra

我正在尝试用个人制作一个 PCA 图 - 其中一个分类变量 (A) 将表示为点形状(例如,一组为圆形,第二组为正方形等) - 和第二个分类变量( B)作为点内的颜色这可能吗?您会使用哪个代码?

Stu*_*olf 6

我认为您无法修改 的输出fviz_pca_ind(),因此您需要从结果中取出数据,并使用 ggplot2 再次绘制它:

library(factoextra)
library(ggplot2)

data <- iris
colnames(data)[5] <- "A"
data$B <- sample(letters[1:2],nrow(data),replace=TRUE)

res.pca <- prcomp(data[,1:4],  scale = TRUE)
basic_plot <- fviz_pca_ind(res.pca, label="none")

ggplot(cbind(basic_plot$data,data[,c("A","B")]),
aes(x=x,y=y,col=A,shape=B)) + geom_point() + theme_bw()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述