简体   繁体   中英

Venn diagram from count table using R

Is there a way to create a venn diagram in R from a count table like this one? A has in total 8 elements, of which 5 are shared with B; 5 are shared with C; and 3 are shared with D. Among these, 4 are shared between A, B and C; 2 between A, B and D; and so on. Looking at the existing packages (limma, VennDiagram), it looks like they are not designed to deal with this sort of table.

group   n_elements
A       8
B       8
C       9
D       7
A+B     5
A+C     5
A+D     3
B+C     6
B+D     4
C+D     4
A+B+C   4
A+B+D   2
A+C+D   2
B+C+D   3
A+B+C+D 2

You can do this with my package eulerr . You just have to put your results in a named numeric vector. Consider the following example. (Below I have constructed an area-proportional euler diagram, but if you want a venn diagram just call venn() instead.)

group <- c("A", "B", "A&B")
n_elements <- c(8, 8, 9)
names(n_elements) <- group

library(eulerr)

set.seed(1)
res <- euler(n_elements)

plot(res)

Created on 2020-01-09 by the reprex package (v0.3.0)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM