Диаграмма Венна сюжет? - PullRequest
0 голосов
/ 09 мая 2018

У меня есть некоторые данные, как показано ниже, я хотел бы получить для них диограмму Венна. Пожалуйста, дайте мне знать, если есть какое-либо решение.

dim(a)
1200

dim(b)
420

dim(c)
580

dim(d)
650

Перекрытия между данными:

a_b = 200
a_c=100
c_b=20
a_d= 11
b_d= 61
c_d= 0

Ответы [ 2 ]

0 голосов
/ 09 мая 2018

Существует несколько способов построения ViennDiagram. Одним из них является использование пакета VennDiagram:

library(VennDiagram)
grid.newpage()
venn.plot <- draw.quad.venn(
  area1 = 1200,
  area2 = 420,
  area3 = 580,
  area4 = 650,
  n12 = 200,
  n13 = 100,
  n14 = 11,
  n23 = 20,
  n24 = 61,
  n34 = 0,
  n123 = 0,
  n124 = 0,
  n134 = 0,
  n234 = 0,
  n1234 = 0,
  category = c("a", "b", "c", "d"),
  fill = c("orange", "red", "green", "blue"),
  lty = "dashed",
  cex = 2,
  cat.cex = 2,
  cat.col = c("orange", "red", "green", "blue")
)

enter image description here

0 голосов
/ 09 мая 2018

Для этого есть несколько инструментов.Я разработал один из них, под названием nVennR.С предоставленными вами данными,

library(nVennR)
cVenn <- createVennObj(4, c("a", "b", "c", "d"))
cVenn <- setVennRegion(cVenn, c("a", "b"), 200)
cVenn <- setVennRegion(cVenn, c("a", "c"), 100)
cVenn <- setVennRegion(cVenn, c("c", "b"), 20)
cVenn <- setVennRegion(cVenn, c("a", "d"), 11)
cVenn <- setVennRegion(cVenn, c("b", "d"), 61)
cFig <- plotVenn(nVennObj = cVenn)

Euler diagram

Однако вы можете сделать то же самое в одной строке непосредственно из списков a, b, cи д:

plotVenn(list(a=a, b=b, c=c, d=d))
...