VennDiagram中的空集导致错误

时间:2014-07-16 10:43:41

标签: r venn-diagram

我有以下用于R - VennDiagram的脚本,其中集合被自动填充,集合(如此处为b1)可能为空:

suppressPackageStartupMessages(library(VennDiagram))
b1 <- c()
b2 <- c(1,2)
base_data <- list(b1, b2)
names(base_data) <- c("b1", "b2")
pdf(file="out.pdf",7,7)
p1 <- venn.diagram(base_data,filename = NULL,euler.d=False,cex=2,cat.cex=2)
grid.draw(p1)
dev.off()

R比我给出了以下错误:

Error in x[[i]] : subscript out of bounds
Calls: venn.diagram -> unique
Execution halted

我测试了几个变种并且总是被抛出,只要在创建的列表中,空集就在另一个集合的前面。

我知道对于其他R-Venn库,甚至可以传递4个空集并解析每个部分中填充零的维恩图。

那么,VennDiagram是否也可以用空集来构建图表?如果是的话,我做错了什么?

提前谢谢!

朱莉娅

1 个答案:

答案 0 :(得分:0)

好吧,让我指出empty set并不是真正放入维恩(或欧拉)图表的有效项目,因此您不应该尝试这样做。空集与任何东西的交集是否有任何元素? (无)。

如果其他包正在绘制空集,则它们违反了代数规则。作为最后一个例子,尝试将两个空集的交集与相同两个空集的并集进行比较。