Я пытаюсь придумать, как создать диаграмму Венна, используя пакет VennDiagram, который сохраняет 0. На данный момент у меня есть проблема ниже: если между группами нет перекрытия, круг удаляется, а не сохраняется, но с 0 в это, что является полезным результатом для моей работы. Я получаю диаграмму Венна, которая выглядит так:
Я создал это с помощью следующего кода:
library(VennDiagram)
set1 <- paste(rep("word_", 20) , sample(c(1:1000), 20, replace=T) , sep = "")
set2 <- paste(rep("word_", 20) , sample(c(1:1000), 20, replace=T) , sep = "")
set3 <- paste(rep("word_", 20) , sample(c(1:1000), 20, replace=T) , sep = "")
library(RColorBrewer)
myCol <- brewer.pal(3, "Pastel2")
venn.diagram(
x = list(set1, set2, set3),
category.names = c("Set 1", "Set 2 ", "Set 3"),
filename = '#140_venn_diagramm.png',
output=TRUE,
)
То, как я на самом деле хочу, чтобы мои графики выглядели, показано ниже (но некоторые группы явно равны 0, если это применимо):
Код для создания чего-то вроде этого:
set1 <- paste(rep("word_", 200), sample(c(1:1000), 200, replace=T) , sep = "")
set2 <- paste(rep("word_", 200), sample(c(1:1000), 200, replace=T) , sep = "")
set3 <- paste(rep("word_", 200), sample(c(1:1000), 200, replace=T) , sep = "")
library(RColorBrewer)
myCol <- brewer.pal(3, "Pastel2")
venn.diagram(
x = list(set1, set2, set3),
category.names = c("Set 1", "Set 2 ", "Set 3"),
filename = '#140_venn_diagramm.png',
output=TRUE,
)
Будем очень признательны за любые советы о том, как это исправить.
Привет, Эдвард, проблема в том, что видно на фотографиях. Я пытаюсь включить в пакет 0 групп, но не могу найти, как это сделать в Интернете! Извините, если код оказался недостаточно хорошим. Я попытался использовать код, доступный в Интернете, чтобы показать проблему, аналогичную той, с которой я столкнулся.
Поэтому я не смог найти простого способа использования пакета VennDiagram, чтобы это произошло, однако вы можете использовать пакет ggvenn.
Например:
library(ggvenn)
set.seed(23) # to make data repeatable
# data from your question
set1 <- paste(rep("word_", 20) , sample(c(1:1000), 20, replace=T) , sep = "")
set2 <- paste(rep("word_", 20) , sample(c(1:1000), 20, replace=T) , sep = "")
set3 <- paste(rep("word_", 20) , sample(c(1:1000), 20, replace=T) , sep = "")
ggvenn(list(`Set 1` = set1, `Set 2` = set2, `Set 3` = set3)) # create diagram
Что исправить? Вы создаете случайные данные (без предоставления начального числа, чтобы результат не воспроизводился), и ошибок нет. Функция ведет себя точно так, как задумано.