首页 > 解决方案 > 尝试生成 5 路维恩时如何解决“不可能:负区域”错误消息?

问题描述

我以前没有在 R 中使用过这个函数。我想要一个 Venn 来代表我正在做的评论中的论文,以反映我已经确定的不同概念,一些单独的论文可以显示多个概念。我计算了论文展示超过两个并因此重叠的次数。我不断收到相同的错误消息,指出某些方面是否定的,但我真的不明白为什么,谁能帮忙。我已经查看了此功能的 R pdf,但似乎无法弄清楚我做错了什么。提前致谢

 venn.plot <- draw.quintuple.venn(
area1 = 29,
area2 = 26,
area3 = 41,
area4 = 22,
area5 = 10,
n12 = 2,
n13 = 3,
n14 = 3,
n15 = 1,
n23 = 2,
n24 = 1,
n25 = 1,
n34 = 4,
n35 = 1,
n45 = 0, 
n123 = 5,
n124 = 1,
n125 = 1,
n134 = 2,
n135 = 1,
n145 = 0,
n234 = 3,
n235 = 0,
n245 = 0,
n345 = 0, 
n1234 = 1,
n1235 = 4,
n1245 = 0,
n1345 = 0,
n2345 = 3,
n12345 =1, 
category = c("A", "B", "C", "D", "E"),
fill = c("dodgerblue", "goldenrod1", "darkorange1", "seagreen3", "orchid3"),
cat.col = c("dodgerblue", "goldenrod1", "darkorange1", "seagreen3", "orchid3"),
ind = TRUE
)

标签: rvenn-diagram

解决方案


你得到的信息是

ERROR [2019-11-27 05:56:26] Impossible: a9 <- n12 - a19 - a20 - a22 - a28 - a29 - a30 - a31 produces negative area
Error in draw.quintuple.venn(area1 = 29, area2 = 26, area3 = 41, area4 = 22,  : 
  Impossible: a9 <- n12 - a19 - a20 - a22 - a28 - a29 - a30 - a31 produces negative area

虽然通常在询问错误消息时报告错误消息是个好主意,但除非您查看函数的源,否则此特定错误消息并不能提供所有信息。那有这一系列的计算:

    a31 <- n12345
    a30 <- n1234 - a31
    a29 <- n1235 - a31
    a28 <- n1245 - a31
    a27 <- n1345 - a31
    a26 <- n2345 - a31
    a25 <- n245 - a26 - a28 - a31
    a24 <- n234 - a26 - a30 - a31
    a23 <- n134 - a27 - a30 - a31
    a22 <- n123 - a29 - a30 - a31
    a21 <- n235 - a26 - a29 - a31
    a20 <- n125 - a28 - a29 - a31
    a19 <- n124 - a28 - a30 - a31
    a18 <- n145 - a27 - a28 - a31
    a17 <- n135 - a27 - a29 - a31
    a16 <- n345 - a26 - a27 - a31
    a15 <- n45 - a18 - a25 - a16 - a28 - a27 - a26 - a31
    a14 <- n24 - a19 - a24 - a25 - a30 - a28 - a26 - a31
    a13 <- n34 - a16 - a23 - a24 - a26 - a27 - a30 - a31
    a12 <- n13 - a17 - a22 - a23 - a27 - a29 - a30 - a31
    a11 <- n23 - a21 - a22 - a24 - a26 - a29 - a30 - a31
    a10 <- n25 - a20 - a21 - a25 - a26 - a28 - a29 - a31
    a9 <- n12 - a19 - a20 - a22 - a28 - a29 - a30 - a31

经过一些工作,a9简化为

a9 <- n12 - n124  - n125 - n123 + n1245 + n1235  + n1234 - n12345

即它是第 1 类和第 2 类中不属于第 3、4 或 5 类的总数。根据您输入的数字,这是

2 - 1 - 1 - 5 + 0 + 4 + 1 - 1 = -1

这是不可能的。所以你的输入数据有错误。


推荐阅读