1

你好我有一个多元数据集

我对我的缩放数据执行了 PCA,并使用fviz_pca_biplot()了显示双标图的函数。

这是我所做的一个例子:

(以 mtcars 为例)

colnames(mtcars)

“mpg” “cyl” “disp” “hp” “drat” “wt” “qsec” “vs” “am” “gear” “carb”

ds <- mtcars %>%
  scale()
PCA_analysis <- princomp(ds)
fviz_pca_biplot(PCA_analysis, label = "all", habillage =  mtcars$gear) 

pca_mtcars

问题是我不仅想通过“gear”变量显示标签,还想通过 mtcars 数据集的“am”变量显示标签,点颜色相对于“gear”变量,点的形状相对于“我”变量

4

1 回答 1

1

没有简单的方法可以做到这一点,但你可以尝试只绘制文本:

g = fviz_pca_biplot(PCA_analysis, label = "all", 
habillage =  mtcars$gear,geom="text",show.legend=FALSE) 

然后手动将数据添加到 ggplot 对象并通过调用 geom_point() 完成:

g$data$am = factor(mtcars$am)
g$data$gear = factor(mtcars$gear)
g + geom_point(aes(color = gear,shape = am))

在此处输入图像描述

于 2021-11-27T15:19:08.813 回答