在 `factoextra` `PCA` 中,如何添加 `max.overlaps` 参数

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

factoextra
PCA
中,如何添加
max.overlaps
参数? 就像向 PAC 输入 max.overlaps=100 会失败:

library(factoextra)
library(FactoMineR)
library(tidyverse)

PCA(decathlon2[,- ncol(decathlon2)])

在我的实际示例中,我在

PCA
中遇到了以下消息,所以我认为将
max.overlaps
添加到PCA函数中。

实际数据更难重现。

ggrepel: 15 unlabeled data points (too many overlaps). Consider increasing max.overlaps 
r factoextra
1个回答
3
投票

我没有看到任何(简单)选项来设置

max.overlaps
。首先,无法将
max.overlaps
传递给默认的
plot.PCA
方法。相反,
plot.PCA
使用
geom_text_repel
中的默认值。其次,当您调用
PCA
时,默认情况下会打印绘图但不会返回。因此,没有简单的方法可以通过操作 ggplot 对象来设置
max.overlaps

相反,我建议设置

graph=FALSE
并使用例如
fviz_pca_ind
fviz_pca_var
来自
factoextra
创建绘图。虽然这些函数也不允许设置
max.overlaps
,但它们默认为
max.overlaps=Inf
。如果需要,它们允许进一步操作 ggplot 对象。

library(factoextra)
library(FactoMineR)

pca <- PCA(decathlon2[, -ncol(decathlon2)], graph = FALSE)

fviz_pca_ind(pca, repel = TRUE)

fviz_pca_var(pca, repel = TRUE)

© www.soinside.com 2019 - 2024. All rights reserved.