错误:点太少,无法计算具有3个点的椭圆?-R
G'day。 我正在用错误:点太少,无法计算具有3个点的椭圆?-R,r,plot,ggplot2,pca,ellipse,R,Plot,Ggplot2,Pca,Ellipse,G'day。 我正在用factoextra包绘制一个pca。我对每个因素都有3分,我想在每个因素周围画一个椭圆。但是我得到的错误是,点太少,无法计算椭圆 使用stat_eliple功能,可以在ggplot2中的3个点周围绘制椭圆。我可以通过查看ggplot2中的calculate_ellipse来确认这一点,该图显示else if(dfd
factoextra
包绘制一个pca
。我对每个因素都有3分,我想在每个因素周围画一个椭圆。但是我得到的错误是,点太少,无法计算椭圆
使用stat_eliple
功能,可以在ggplot2
中的3个点周围绘制椭圆。我可以通过查看ggplot2
中的calculate_ellipse
来确认这一点,该图显示else if(dfd<3){消息(“计算椭圆的点太少”)
。那么在fviz\u pca\u 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
库(额外)
数据(iris)
iris2我也遇到了同样的问题。解决方法是使用软件包中的geom\u mark\u eliple
。可以在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()
库(额外)
图书馆(警队)
数据(iris)
IRIS2您试图在2参数空间中计算不确定椭圆。椭圆由三个不同的点唯一表示,没有不确定度。因此,您需要3个点才能显示不确定椭圆;换句话说,有3个点的不确定椭圆是矛盾的。@Maurite感谢mment。你能详细说明一下吗?你的意思是这不计算置信区间椭圆吗?想象一下拟合一条通过2个点的直线。在这种情况下,谈论拟合参数的不确定性是没有意义的。没有不确定性,因为有一条独特的线通过2个点。也许也有意思:。@Maurit谢谢,非常有趣。我想我还是不明白为什么在ggplot2
中可以用3个点画椭圆,但不能用factoextra
。