ggvenn:

En RStudio ggvenn es un paquete de visualización de datos que se utiliza para crear diagramas de Venn interactivos en R. Este tipo de gráficos es útil para comparar y contrastar conjuntos de datos. Con ggvenn, puedes mostrar varios conjuntos de datos y resaltar las intersecciones entre ellos.


Para utilizar ggvenn, se debe instalar y cargar el paquete en la sesión de R. Para hacerlo, se deben ejecutar los siguientes comandos:

library(ggplot2)
library(ggvenn)

Una vez que se haya cargado el paquete, se puede comenzar a crear los diagramas de Venn.

Ejemplo básico:

# Crear un diagrama de Venn con dos conjuntos de datos
a <- list (`Positivismo` = sort(sample(1:10000000, 1000000)),
           `Constructivismo` = sort(sample(1:10000000, 1000000)))

Significado de cada argumento:

  • a <- list(: Esto crea una lista en R y la asigna a la variable “a”.

  • Positivismo y Constructivismo: Estos son los nombres de los dos conjuntos de datos que se utilizarán para crear el diagrama de Venn. Estos nombres se incluyen dentro de comillas invertidas (`) para indicar que son cadenas de texto.

  • sort(sample(1:10000000, 1000000)): Este comando genera un conjunto de datos aleatorios de un millón de números enteros ordenados de forma ascendente utilizando la función sample y la función sort en R. Este conjunto de datos se asigna al conjunto de datos “Positivismo”.

En este ejemplo, estamos comparando dos conjuntos de datos (paradígmas) nombrados bajo “a”, que contiene valores del 1:10000000.

# Crear el diagrama de Venn
ggvenn(a, c("Constructivismo", "Positivismo"),
       fill_color = c("peachpuff", "lightsteelblue"),
       fill_alpha = (.7))

Significado de cada argumento:

  • ggvenn(a, c("Constructivismo", "Positivismo")): Este comando llama a la función ggvenn y le pasa dos argumentos;

    • La lista a que contiene los conjuntos de datos “Positivismo” y “Constructivismo”, y el vector "Constructivismo", "Positivismo" que indica los nombres de los conjuntos que se van a graficar.

Comparando tres conjuntos de datos:

Ahora bien, si queremos agregar más conjuntos de datos al diagrama, podemos hacerlo fácilmente utilizando el mismo formato que en el ejemplo anterior.

Por ejemplo:

b <- list (`Positivismo` = sort(sample(1:10000000, 1000000)),
           `Constructivismo` = sort(sample(1:10000000, 1000000)),
           `Feminismo` = sort(sample(1:10000000, 1000000)))

En este caso, estamos comparando tres conjuntos de datos: positivismo, constructivismo y feminismo.

El resultado debería verse así:

ggvenn(b, c("Feminismo", "Constructivismo", "Positivismo"))

Editando el diagrama:

ggvenn(b, c("Feminismo", "Constructivismo", "Positivismo"), 
       text_size = 3,
       fill_color = c("cornflowerblue", "mediumorchid", "green"),
       fill_alpha = 0.2,
       stroke_size = .4)

Significado de cada argumento:

  • text_size = 3: este argumento probablemente se refiere al tamaño del texto en el gráfico o visualización. Un valor de 3 podría ser un tamaño relativamente pequeño o mediano, dependiendo del contexto.

  • fill_color = c("cornflowerblue", "mediumorchid", "green"): este argumento se refiere a los colores que se utilizan para rellenar áreas en el gráfico o visualización. En este caso, se está especificando una lista de tres colores diferentes: “cornflowerblue”, “mediumorchid” y “green”. La función c() en R se utiliza para combinar elementos en un vector.

  • fill_alpha = 0.2: este argumento probablemente se refiere a la transparencia del color de relleno. Un valor de 0.2 significa que el color de relleno será ligeramente transparente, lo que permitirá ver cualquier texto u otras características que se encuentren debajo de él.

  • stroke_size = .4: este argumento probablemente se refiere al tamaño del borde que rodea las áreas de relleno en el gráfico o visualización. Un valor de 0.4 podría ser relativamente delgado, dependiendo del contexto.

Ejemplo 2:

# Crear tres conjuntos de datos que representen a las personas que practican diferentes deportes
deporte1 <- sample(1:100, 50)
deporte2 <- sample(1:100, 40)
deporte3 <- sample(1:100, 30)

# Crear un vector con los nombres de los conjuntos de datos
nombres <- c("Swimming", "Volleyball", "Baseball")

# Crear una lista con los conjuntos de datos y sus nombres
datos <- list(`Swimming` = deporte1, `Volleyball` = deporte2, `Baseball` = deporte3)

# Crear el diagrama de Venn
ggvenn(datos,
       text_size = 2.7,
       fill_color = c("lavenderblush", "aquamarine", "lemonchiffon"),
       fill_alpha = .6,
       stroke_size = .5,
       stroke_linetype = 5)

Significado de cada argumento:

  • sample(1:100, 50) crea un conjunto de datos llamado deporte1 que contiene 50 números aleatorios del 1 al 100.

  • sample(1:100, 40) crea un conjunto de datos llamado deporte2 que contiene 40 números aleatorios del 1 al 100.

  • sample(1:100, 30) crea un conjunto de datos llamado deporte3 que contiene 30 números aleatorios del 1 al 100.

  • c("Deporte 1", "Deporte 2", "Deporte 3") crea un vector con los nombres de los tres conjuntos de datos.

  • list(Deporte 1= deporte1,Deporte 2= deporte2,Deporte 3 = deporte3) crea una lista llamada datos que contiene los tres conjuntos de datos y sus nombres correspondientes.


Diagrama de venn sin porcentajes:

a <- list(A = c("Apple", "Pear", "Peach"),
          B = c("Apple", "Lemon"))
ggvenn(a, show_elements = TRUE)

ggvenn(a, show_elements = TRUE, label_sep = "\n", # show elements in line
       text_size = 5,
       fill_color = c("lightsteelblue", "thistle"),
       fill_alpha = 0.7,
       stroke_size = .5)

Significado de cada argumento:

  • show_elements = TRUE: esta opción permite mostrar los elementos que se están comparando en el diagrama.

  • label_sep = "\\n": esta opción permite separar las etiquetas de los elementos en diferentes líneas.


Comparando 4 conjuntos de datos:

# Crear cuatro conjuntos de datos que representen a las personas que practican diferentes deportes
deporte1 <- sample(1:100, 50)
deporte2 <- sample(1:100, 40)
deporte3 <- sample(1:100, 30)
deporte4 <- sample(1:100, 50)

# Crear un vector con los nombres de los conjuntos de datos
nombres <- c("Tennis", "Volleyball", "Baseball", "Football", "Basketball")

# Crear una lista con los conjuntos de datos y sus nombres
datos <- list(`Tennis` = deporte1, `Volleyball` = deporte2, `Baseball` = deporte3,
              `Football` = deporte4)

# Crear el diagrama de Venn
ggvenn(datos,
       text_size = 2.9,
       fill_color = c("#FFCCFF", "#CCFFCC", "#FFFF99", "#FF9999"),
       fill_alpha = .6,
       stroke_size = .5)