日安。
我正在策划一个pca
与factoextra
包裹。我对每个因素有 3 分,并且想在每个因素周围画上椭圆。但我收到错误Too few points to calculate an ellipse
.
可以在 3 个点周围绘制椭圆ggplot2
与stat_ellipse
功能。我可以通过查看来确认这一点calculate_ellipse
code https://github.com/tidyverse/ggplot2/blob/master/R/stat-ellipse.R from ggplot2
说的是else if (dfd < 3) {message("Too few points to calculate an ellipse")
。那么什么是椭圆函数factoextra
使用于fviz_pca_ind
它认为 3 分太少了吗?有没有办法强制它添加省略号?该软件包具有我需要的特定功能,因此我想坚持使用它。谢谢。
library(factoextra)
data(iris)
iris2<-iris[c(1:3,51:53,101:103),] # 3 points for each factor
res.pca <- prcomp(iris2[, -5], scale = TRUE)
fviz_pca_ind(res.pca, label='none',alpha.ind = 1,
habillage=iris2$Species,
repel = TRUE,
addEllipses = TRUE,invisible='quali')+
theme(legend.position = 'bottom')+
coord_equal()
#Too few points to calculate an ellipse
#Too few points to calculate an ellipse
#Too few points to calculate an ellipse
我也遇到过同样的问题。解决方案是使用geom_mark_ellipse
from ggforce https://ggforce.data-imaginist.com包裹。可以在 3 个点(甚至 1 个点)周围创建一个椭圆。
因此,工作流程应如下所示:
library(factoextra)
library(ggforce)
data(iris)
iris2<-iris[c(1:3,51:53,101:103),] # 3 points for each factor
res.pca <- prcomp(iris2[, -5], scale = TRUE)
fviz_pca_ind(res.pca, label='none',alpha.ind = 1,
habillage=iris2$Species,
repel = TRUE,
# Don't use default Ellipses!!!!
# addEllipses = TRUE,
invisible='quali') +
# ADD ggforce's ellipses
ggforce::geom_mark_ellipse(aes(fill = Groups,
color = Groups)) +
theme(legend.position = 'bottom') +
coord_equal()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)