r - R PCA:使用 fviz_pca_ind 函数,我们可以有两个分类变量:一个点形状和一个填充颜色?
问题描述
我正在尝试与个人一起制作 PCA 图 - 其中一个分类变量 (A) 将表示为点形状(例如,一组为圆形,第二个为正方形等) - 和第二个分类变量( B)作为点内的颜色这可能吗?你会使用哪个代码?
解决方案
我认为您不能修改 的输出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()
推荐阅读
- node.js - 如何在路由中获取完整的 url 作为参数
- r - 在 r 中使用 rvest 进行网页抓取以从网页中获取内部信息
- swift - 通过下拉刷新逐一获取行,想要在 viewdidload 上的整个数组
- javascript - 带有元音变音 (ü) 的域上的 location.href 报告不同的域
- javascript - 根据数组中的对象状态设置数组状态
- angular - 我们可以/如何通过 @ViewChild 以角度访问孙子组件吗
- python-3.x - Tensorflow:为什么没有激活函数的单个神经网络节点的结果与我自己的计算不同?
- sql - 如果另一列中的值是唯一的,如果另一列中的值是唯一的,我如何在 SQL 中放置一个显示 1 的列,如果它是重复的则显示 0?
- installation - NSIS:在 RequestExecutionLevel 管理员之前获取当前用户
- angular - 如果对象数组的元素中的字段为真,则显示 div