【问题标题】:How to draw a venn diagram subset by a main vector in R如何通过R中的主向量绘制维恩图子集
【发布时间】:2016-03-08 16:46:33
【问题描述】:

假设我有一个这样的数据框:

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 的子集。

【问题讨论】:

标签: r


【解决方案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 了解更多选项。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多