Диаграмма Венна с 5 переменными в R

Я пытаюсь создать диаграмму, показывающую перекрытие переменных. Для группы менее 4 диаграмма Венна выглядит хорошим выбором, однако я не могу использовать пакет venndiagram, поскольку он ограничивает количество переменных. У меня было что-то вроде имейте это в виду. Вот как выглядят мои данные.

          **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, если это упрощает задачу. Любая помощь в построении этого на диаграмме Венна или другом подходящем графике была бы отличной.


person Arihant    schedule 17.09.2015    source источник
comment
В пакете gplots есть диаграмма Венна до 5 наборов, включая ваш чехол. Показательный пример: последняя страница cran.r-project.org /web/packages/gplots/vignettes/venn.pdf содержит диаграмму Венна для 5 наборов.   -  person Frash    schedule 17.09.2015
comment
Кажется, что у него нет никакого цвета, если это беспокоит.   -  person Frash    schedule 17.09.2015
comment
предыдущее обсуждение: stackoverflow.com/questions/30638610/   -  person Ben Frederickson    schedule 19.09.2015
comment
Возможный дубликат как нарисовать диаграмму Венна, используя 6 наборов   -  person Johan Larsson    schedule 11.03.2017


Ответы (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)

Последняя команда специально продублирована, чтобы результат был уплотнен. Вы можете найти подробности и другие более быстрые формы ввода в виньете< /а>. Результат:

введите здесь описание изображения

person vqf    schedule 06.04.2019