Диаграмма Rstudio Venn с несколькими числами

У меня есть два набора данных, где я подсчитываю количество каждого образца в этом наборе данных. И я хочу объединить числа каждого образца для обоих наборов данных, а затем создать VennDiagram с помощью R с основными числами самого большого набора данных и в скобках меньшими номерами набора данных.

Код R, который я сейчас использую

grid.newpage()
temp <- draw.triple.venn(area1 = 428, 
             area2 = 145, 
             area3 = 303, 
             n12 = 26, 
             n23 = 16, 
             n13 = 14, 
             n123 = 9,
             category = c("text1", "text2", "text3"),
             scaled=FALSE,
             ext.text=FALSE)

grid.draw(temp)
pdf(file="figure1.pdf")
grid.draw(temp)
dev.off()

Результат, который я получаю

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

Что я хотел бы создать

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

Я просмотрел пакет eulerr и пакет диаграммы Венна, но я не могу понять, есть ли способ сделать это возможным.

Вся помощь очень ценится. Большое спасибо.


person RAHenriksen    schedule 17.08.2018    source источник


Ответы (1)


Не уверен, как выглядит «маленький» набор данных, но это помогает

Здесь вы добавляете трассы в сетку с настраиваемыми метками и координатами Y, пропорциональными координатам Y вашего «большого» набора данных.

library(VennDiagram)

temp <- draw.triple.venn(area1 = 428, 
                     area2 = 145, 
                     area3 = 303, 
                     n12 = 26, 
                     n23 = 16, 
                     n13 = 14, 
                     n123 = 9,
                     category = c("text1", "text2", "text3"),
                     scaled=FALSE,
                     ext.text=FALSE)


temp[[17]] <- temp[[13]]
temp[[17]]$y <- temp[[13]]$y * 0.8
temp[[17]]$label <- '(3)'

temp[[18]] <- temp[[9]]
temp[[18]]$y <- temp[[9]]$y * 0.95
temp[[18]]$label <- '(4)'

temp[[19]] <- temp[[7]]
temp[[19]]$y <- temp[[7]]$y * 0.95
temp[[19]]$label <- '(5)'

grid.draw(temp)
person P1storius    schedule 17.08.2018