Как создать диаграмму Венна, используя R? - PullRequest
0 голосов
/ 22 апреля 2019

Я создал диаграмму Венна с использованием пакета eulerr, но он не позволяет мне настраивать ее, и контуры внутренних кругов, кажется, касаются окружности образца. Я просмотрел руководство к пакету VennDiagram, но безуспешно. Есть ли способ создать диаграмму Венна с использованием ggplot2 или любых других пакетов R.

Я ищу то, что этот пользователь пытался сделать с данными, которые у меня есть. 3 комплекта, которые попадают в полное пространство образца. Как нарисовать подмножество диаграммы Венна по главному вектору в R

Это то, что было создано с помощью пакета eulerr:

from https://imgur.com/a/Zh37gaR

Это данные, которые у меня есть. Круги B, C и D должны быть внутри круга A, который имеет в общей сложности 141. Значение 35 в переменной a - это расстояние между диаграммой 3 Венна и кругом (пробел).

b = c(50,0,9,2,1,0,0,0)
c = c(50,21,0,2,0,3,0,0)
d = c(50,21,9,2,0,3,20,0)
a = c(50, 21, 9, 2,1,3,20,35)

totes = cbind (b, c, d, a)

Я не знаю, как это сделать и создать презентабельную диаграмму, которую я могу настроить.

Когда я использовал пакет eulerr, я вручную вводил данные в команду.

1 Ответ

0 голосов
/ 23 апреля 2019

Вы можете рассмотреть мой пакет nVennR.С вашими данными,

>library(nVennR)
> myV <- plotVenn(list(b = c(50,9,2,1),
+                      c = c(50,21,2,3),
+                      d = c(50,21,9,2,3,20),
+                      a = c(50, 21, 9, 2,1,3,20,35)))
> showSVG(myV, opacity = 0.2, borderWidth = 1)

И результат:

cont2

Вы также можете перечислить элементы в каждом регионе:

> listVennRegions(myV)
$`0, 0, 0, 1 (a)`
[1] 35

$`0, 0, 1, 1 (d, a)`
[1] 20

$`0, 1, 1, 1 (c, d, a)`
[1] 21  3

$`1, 0, 0, 1 (b, a)`
[1] 1

$`1, 0, 1, 1 (b, d, a)`
[1] 9

$`1, 1, 1, 1 (b, c, d, a)`
[1] 50  2

Обратите внимание, что я удалил нули в вашем списке.Пакет принимает эти нули как элементы, которых не было в списке a.Если вам интересно, вы можете найти виньетка и веб-интерфейс для алгоритма.

...