r - 如何在 r 中找到我的 PCA 图中的数据点?
问题描述
我在 ggplot2 中制作了这个 PCA 图。有没有办法找到我的哪些数据产生了带有红色箭头的数据点?我想让 R 告诉我这个数据点与什么物种相关(我有与每个点相关联的名称,它代表一个物种 PC 分数)
代码:
df_out <- as.data.frame(PPCA.scores)
theme <-
theme(
panel.background = element_blank(),
panel.border = element_rect(fill = NA),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
strip.background = element_blank(),
axis.text.x = element_text(colour = "black"),
axis.text.y = element_text(colour = "black"),
axis.ticks = element_line(colour = "black"),
plot.margin = unit(c(1, 1, 1, 1), "line")
)
percentage <- round(PPCA$Eval / sum(PPCA$Eval) * 100, 2)
percentage <- diag(as.matrix(percentage))
percentage <- paste0(names(percentage), " (", percentage, "%)")
p<-ggplot(df_out,aes(x=PC1,y=PC2))
p<-p+geom_point(size=3) + theme + xlab(percentage[1]) + ylab(percentage[2])
p
解决方案
该软件包factoextra
提供了一种通过标记单个数据点来执行 PCA 的方法
set.seed(123)
# pca object
res.pca <- prcomp(iris[, -5], scale = TRUE)
# plot
factoextra::fviz_pca_biplot(res.pca, repel = TRUE)
由reprex 包(v0.2.1)于 2018 年 11 月 10 日创建
有关更详细的文档, 请参阅 - http://www.sthda.com/english/articles/31-principal-component-methods-in-r-practical-guide/112-pca-principal-component-analysis-essentials/
推荐阅读
- vue.js - Vuetify V-File-输入多个文件
- c# - Projectile 将墙壁和“咕噜声”都检测为“咕噜声”
- postgresql - 如何使用 ssh 隧道将谷歌数据工作室连接到 AWS 上的 postgres 无服务器?
- apache-camel - Apache Camel 中的 Connect:Direct(NDM) 支持
- azure - 增加 Visual Studio Online 中的自动挂起时间
- spring - 如何从 Jackson Databind 中的忽略列表中删除属性?
- css - 加载和悬停同一对象的同一属性的不同转换时间?
- python - Python时序优化
- javascript - 如何提高 Vue Draggable 嵌套的精度?
- python - 如何在 python 中加密用户输入?