【问题标题】:Error: Too few points to calculate an ellipse with 3 points? - R错误:用 3 点计算椭圆的点太少? -R
【发布时间】:2018-04-19 23:25:21
【问题描述】:

G'day。 我正在用factoextra 包绘制pca。我对每个因素都有 3 分,并且想在每个因素周围画一个椭圆。但我收到错误Too few points to calculate an ellipse

可以使用stat_ellipse 函数在ggplot2 中围绕3 个点绘制椭圆。我可以通过查看来自ggplot2calculate_ellipse code 来确认这一点,上面写着else if (dfd < 3) {message("Too few points to calculate an ellipse")。那么factoextrafviz_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

【问题讨论】:

  • 您正在尝试在 2 参数空间中计算 不确定性 椭圆。椭圆唯一地由三个不同的点表征,没有不确定性。因此,您需要&gt;3 点才能显示不确定椭圆;换句话说,具有 3 个点的 不确定性 椭圆是矛盾的。
  • @MauritsEvers 感谢您的评论。你能详细说明一下吗?你的意思是这不计算置信区间椭圆吗?
  • 想象通过 2 个点拟合一条直线。在这种情况下,谈论拟合参数的不确定性是没有意义的。没有不确定性,因为有一条独特的线穿过 2 个点。
  • 也许你也感兴趣:Real meaning of confidence ellipse.
  • @MauritsEvers 非常有趣,谢谢。我想我仍然对为什么可以在 ggplot2 而不是 factoextra 中绘制 3 点的椭圆感到困惑。

标签: r plot ggplot2 pca ellipse


【解决方案1】:

我也遇到过同样的问题。解决方案是使用来自ggforce 包的geom_mark_ellipse。可以围绕 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()

【讨论】:

    猜你喜欢
    • 2012-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-24
    相关资源
    最近更新 更多