首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R eulerr包-显示错误的欧拉图

R eulerr包-显示错误的欧拉图
EN

Stack Overflow用户
提问于 2019-01-12 19:28:57
回答 3查看 2.7K关注 0票数 2

我正在尝试用R包eulerr创建一个Euler图。我使用以下代码:

代码语言:javascript
复制
vd <- euler(c(A = 54, B = 22, C = 53, D= 26 ,"A&B" = 20, "A&C" = 29, "A&D"=10, "B&C" = 16, "B&D"=5, "C&D"=7,"A&B&C" = 14, "A&B&D"=5, "A&C&D"=4, "B&C&D"=3,"A&B&C&D"=3),input = c("union"), shape="ellipse")

plot(vd, labels = c("A", "B", "C","D"), main = "Databases",Count=TRUE, quantities = TRUE)

我得到的结果如下:

但由此产生的欧拉图解是错误的:

  • 不是所有的B都应该包括在A中
  • B的总数应为22 (图中只显示总数为20)
  • C总数应为53 (而非51)

我如何解决这个问题,或者这是一个包错误?

error_plot显示如下:区域错误:

剩余数:

不幸的是,残差图没有显示残差。然而,失踪案件显示在下面的“正常”剩余统计数字中。

代码语言:javascript
复制
        original fitted residuals regionError
A             15     15         0       0.004
B              0      0         0       0.000
C             19     19         0       0.005
D             13     13         0       0.003
A&B            4      4         0       0.001
A&C           14     14         0       0.003
A&D            4      4         0       0.001
B&C            2      0         2       0.022
B&D            0      0         0       0.000
C&D            3      3         0       0.001
A&B&C         11     11         0       0.003
A&B&D          2      2         0       0.000
A&C&D          1      1         0       0.000
B&C&D          0      0         0       0.000
A&B&C&D        3      3         0       0.001

diagError: 0.022 
stress:    0.004 
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2019-01-16 18:42:18

关于如何解决这个问题,这取决于你想要的裂变水平。从nVenn算法出发,我编写了nVennR包来创建准比例欧拉图.有了链接中提到的注意事项,您可以表示更多的集合,并显示每个区域的相对大小。在你的例子中,

代码语言:javascript
复制
library(nVennR)
myV <- createVennObj(nSets = 4, sNames = c('A', 'B', 'C', 'D'), sSizes = c(0, 26, 53, 7, 22, 5, 16, 3, 54, 10, 29, 4, 20, 5, 14, 3))
myV <- plotVenn(nVennObj = myV)

其结果将是:

根据您的要求,这可能是不令人满意的。比例是在圆的区域,而不是区域(你可以看到区域1,2,3,4- A&B&C&D -有空空间。)然而,这个策略克服了Johan提到的规则形状在这些表示中的局限性。如果您感兴趣,格列奈特中有更多的细节。

票数 5
EN

Stack Overflow用户

发布于 2019-01-13 21:16:36

忽略某些区域的原因很简单:图表不准确,缺少一些区域。没有地方放置标签的B&C,所以这就是为什么B和C是缺少两个单位。很可能没有任何方法(或者至少是eulerr无法找到它)来使用省略号完美地表示您与欧拉图的组合。你要么接受它是不精确的,要么尝试另一个解决方案。

类似地,残差图不能以图形方式显示丢失的残差,因为没有表示它们的区域。顺便说一句,我是这个包的作者,我确实有一些更好的想法,因为剩余的地块也会显示缺失的区域,但我还没有时间去实现它。

票数 4
EN

Stack Overflow用户

发布于 2019-07-07 13:09:24

在许多情况下,Euler可能出错,例如:

代码语言:javascript
复制
vd <- euler(c(A=23578,B=30492,C=63610,"A&B"=563,"A&C"=624,"B&C"=1600,"A&B&C"=308))
plot(vd, labels = c("1", "2", "3"), main = "overlap", cex=2)

显示这三个类别没有重叠区域的图表。

我认为这只是一个不准确的工具。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54163143

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档