使用ggbiplot可视化R中具有大量变量的PCA

问题描述 投票:0回答:1

我正在尝试可视化包含87个变量的PCA。

prc <-prcomp(df[,1:87], center = TRUE, scale. = TRUE)
ggbiplot(prc, labels = rownames(df[,1:87]), var.axes = TRUE)

创建双标图时,许多矢量相互重叠,因此无法读取标签。我想知道是否有任何方法只能一次显示一些标签。例如,我认为如果可以创建几个单独的双线图,每个双线图仅显示向量上标签的子集,那将很有用。

This question似乎密切相关,但我不知道它是否转换为ggbiplot的最新版本。我也不确定如何修改原始功能。

r ggplot2 data-visualization ggbiplot biplot
1个回答
0
投票

一种可能的解决方案是使用factoextra程序包可视化您的PCA结果。 fviz_pca_biplot()函数包含一个repel参数。当repel = TRUE时,图标签会展开以最大程度地减少重叠。文档中还提到了select.var选项,例如select.var = list(contrib=5)仅显示5个最具影响力的向量。另外,select.var = list(name)选项似乎允许指定要显示的特定变量子集。

# read data
df <- mtcars[, c(1:7,10:11)]

# perform PCA
library("FactoMineR")
res.pca <- PCA(df, graph = FALSE)

# visualize
library(factoextra)
fviz_pca_biplot(res.pca, repel = TRUE, select.var = list(contrib = 5))
© www.soinside.com 2019 - 2024. All rights reserved.