首页 > 解决方案 > 如何在 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  

PCA 图

标签: rggplot2

解决方案


该软件包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/


推荐阅读