0

我有以下 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 是否也能够从空集构建图表?如果是的话,我做错了什么?

先感谢您!

朱莉娅

4

1 回答 1

0

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

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

于 2014-07-16T11:37:06.870 回答