【问题标题】:Venn Diagram with 5 variable in RR中有5个变量的维恩图
【发布时间】:2015-09-17 14:53:12
【问题描述】:

我正在尝试创建一个显示变量重叠的图表。对于少于 4 组的维恩图看起来是个不错的选择,但是我无法使用“venndiagram”包,因为它限制了变量的数量。我想到了 this 之类的东西。 这是我的数据的样子。

          **Groups                  Count**

            None                    151
               A                    121
               B                    108
               D                    4
               E    D                172
               C    D               1
               C    E   D           3
               A    D               6
               A    E   D           129
               A    C   D           3
               A    C   D   E       7
               B    D               7
               B    E   D           121
               B    C   D           6
               B    C   E   D       15
               B    A               153
               B    A   D           32
               B    A   E   D       200
               B    A   C           5
               B    A   C   D       4
               B    A   C   E   D   44

我们可以忽略“None”类,如果它很容易的话。 在维恩图或其他适当的绘图上绘制此图的任何帮助都会很棒。

【问题讨论】:

标签: r plot venn-diagram


【解决方案1】:

如果你觉得有趣,你可以使用我的nVennR 包来构建一个准比例图。根据您的数据,

library(nVennR)
myV <- createVennObj(nSets = 5, sNames = c('A', 'B', 'C', 'D', 'E'))
myV <- setVennRegion(myV, c("A"), 121)
myV <- setVennRegion(myV, c("B"), 108)
myV <- setVennRegion(myV, c("D"), 4)
myV <- setVennRegion(myV, c("E", "D"), 172)
myV <- setVennRegion(myV, c("C", "D"), 1)
myV <- setVennRegion(myV, c("C", "E", "D"), 3)
myV <- setVennRegion(myV, c("A", "D"), 6)
myV <- setVennRegion(myV, c("A", "E", "D"), 129)
myV <- setVennRegion(myV, c("A", "C", "D"), 3)
myV <- setVennRegion(myV, c("A", "C", "D", "E"), 7)
myV <- setVennRegion(myV, c("B", "D"), 7)
myV <- setVennRegion(myV, c("B", "E", "D"), 121)
myV <- setVennRegion(myV, c("B", "C", "D"), 6)
myV <- setVennRegion(myV, c("B", "C", "E", "D"), 15)
myV <- setVennRegion(myV, c("B", "A"), 153)
myV <- setVennRegion(myV, c("B", "A", "D"), 32)
myV <- setVennRegion(myV, c("B", "A", "E", "D"), 200)
myV <- setVennRegion(myV, c("B", "A", "C"), 5)
myV <- setVennRegion(myV, c("B", "A", "C", "D"), 4)
myV <- setVennRegion(myV, c("B", "A", "C", "E", "D"), 44)
myV <- plotVenn(nVennObj = myV)
myV <- plotVenn(nVennObj = myV)

最后一个命令是故意复制的,所以结果被压缩了。您可以在vignette 中找到详细信息和其他更快的输入形式。结果:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-11-28
    • 2012-11-04
    • 1970-01-01
    • 1970-01-01
    • 2015-07-02
    • 2023-01-14
    • 1970-01-01
    相关资源
    最近更新 更多