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

标签 r ggplot2 data-visualization ggbiplot biplot

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

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

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

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

最佳答案

一个潜在的解决方案是使用 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))

biplot with only 5 vectors shown

关于r - 使用 ggbiplot 在 R 中可视化具有大量变量的 PCA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59865922/

相关文章:

r - 在 R 中使用 geom_smooth() 在 ggplot2 图例中混合填充颜色

python - seaborn 热图中的自定义调色板间隔

r - 无法过渡标题或过渡时间,具体取决于在新版本的gganimate中使用transition_states或transition_times

r - 从具有交互作用的 glm 模型中为两个不同的组绘制拟合线

javascript - 数组的单列 HighCharts

r - 如何在 R 中解析具有堆叠多个 JSON 的文件?

读取具有特定扩展名的所有文件

将行中的第一个重复元素替换为 NA,同时保留其余重复元素

每个变量的 R 内存使用情况

r - 如何从长数据帧格式在 ggplot 中制作堆积条形图?