如何在R中绘制以主向量为子集的Venn图。

3
假设我有这样一个数据框:
df<-data.frame(
    A=rep(1, 10),
    B=c(1,1,1,1,1,1,1, 1, 0,0),
    C=c(0, 0, 0, 1, 1, 1, 1, 1, 1, 1),
    D=c(0, 1, 1, 1, 1, 1, 1, 1, 1, 0)
)
df
   A B C D
1  1 1 0 0
2  1 1 0 1
3  1 1 0 1
4  1 1 1 1
5  1 1 1 1
6  1 1 1 1
7  1 1 1 1
8  1 1 1 1
9  1 0 1 1
10 1 0 1 0

我的问题是如何在R中绘制像下面这样的维恩图,其中B、C、D是A的子集。enter image description here

可能与R中的维恩图相关。 - talat
谢谢。我已经尝试了所有这些。似乎并不令人满意。 - David Z
我目前使用的是 Venn,但似乎不是我想要的,就像这篇帖子所说的那样。 - David Z
1个回答

1
我认为我理解了这个问题,但第一部分看起来像一个不合逻辑的论点。如果你有一个带有一些数据的数据框,图表的外观将取决于这些数据。如果你想要那个特定的图表,你可以考虑使用我的 nVennR 包,例如:
> library(nVennR)
> myV <- createVennObj(nSets = 4, sNames = c('A', 'B', 'C', 'D'))
> myV <- setVennRegion(myV, c('A', 'B'), 1)
> myV <- setVennRegion(myV, c('A', 'C'), 1)
> myV <- setVennRegion(myV, c('A', 'B', 'D'), 2)
> myV <- setVennRegion(myV, c('A', 'C', 'D'), 1)
> myV <- setVennRegion(myV, c('A', 'B', 'C', 'D'), 5)
> myV <- plotVenn(nVennObj = myV)
> showSVG(myV, opacity = 0.1, borderWidth = 3)

结果如下: 欧拉图

如果您感兴趣,可以查看vignette以获取更多选项。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接