R语言 主成分分析的纯颜色平均群

qxgroojn  于 2024-01-03  发布在  其他
关注(0)|答案(1)|浏览(89)

假设我有一个PCA(使用FactoMineR的prcomp()或PCA())。我想用黑色绘制每组的所有点,但只标记和着色每组的平均点。例如,

library(FactoMineR)
library(factoextra)
iris
res.ACP<-PCA(iris[,c(1:3)],scale.unit = TRUE,ncp= 5)
fviz_pca_ind(res.ACP,geom.ind=c("point"),point.size=3,pointshape=16,
             col.ind=iris$Species,
             col="Set1",legend.title="Species",addlabel=TRUE, mean.point.size=5)

字符串


的数据
我如何保持平均值点的颜色如上所述,但绘制所有的数据点在黑色?理想情况下,我也想标记的平均值,然后我会删除图例。
谢谢你的帮忙。

11dmarpk

11dmarpk1#

这里有一个可能的解决方案。

library(FactoMineR)
library(factoextra)
library(dplyr)

res.ACP <- PCA(iris[,c(1:3)], scale.unit = TRUE, ncp= 5)

df <- data.frame(res.ACP$ind$coord[,1:2], Species=iris$Species)
df <- df %>%
      group_by(Species) %>%
      summarize(Dim1=mean(Dim.1), Dim2=mean(Dim.2))

fviz_pca_ind(res.ACP, geom.ind=c("point"), point.size=3, pointshape=16,
             legend.title="Species", addlabel=TRUE) +
  geom_text(data=df, aes(x=Dim1, y=Dim2, label=Species, color=Species), 
            size=6, nudge_y=0.25) +
  geom_point(data=df, aes(x=Dim1, y=Dim2, color=Species), size=5)

字符串


的数据

相关问题