Librería

UpSetR

Autor principal

Jake Conway, Nils Gehlenborg

Datos de muestra

Un UpSet plot visualiza intersecciones entre conjuntos, una alternativa escalable a los diagramas de Venn cuando se comparan más de tres conjuntos. Los datos deben ser una matriz binaria donde cada columna es un conjunto y cada fila es un elemento (1 = pertenece, 0 = no pertenece).

set.seed(42)
n <- 300
genres_df <- data.frame(
  Action      = sample(0:1, n, TRUE, prob = c(0.6, 0.4)),
  Comedy      = sample(0:1, n, TRUE, prob = c(0.5, 0.5)),
  Drama       = sample(0:1, n, TRUE, prob = c(0.4, 0.6)),
  Romance     = sample(0:1, n, TRUE, prob = c(0.7, 0.3)),
  Thriller    = sample(0:1, n, TRUE, prob = c(0.65, 0.35)),
  Documentary = sample(0:1, n, TRUE, prob = c(0.8, 0.2))
)

upset()

Pasa el data frame binario a upset(). Las barras horizontales de la izquierda muestran el tamaño de cada conjunto; las barras verticales muestran el tamaño de cada intersección. Los puntos conectados en la matriz indican qué conjuntos forman cada intersección.

# install.packages("UpSetR")
library(UpSetR)

upset(genres_df)

UpSet plot básico en R con UpSetR

nsets y nintersects

UpSet plot controlando número de conjuntos e intersecciones con UpSetR

nsets controla cuántos conjuntos aparecen en el gráfico (los más grandes por defecto). nintersects limita cuántas intersecciones se muestran en el gráfico de barras. Aumenta ambos para tener una visión más completa.

# install.packages("UpSetR")
library(UpSetR)

upset(genres_df,
      nsets       = 6,
      nintersects = 15)

order.by

Por defecto las intersecciones se ordenan por frecuencia ("freq"). Usa order.by = "degree" para ordenar por el número de conjuntos en cada intersección, útil para identificar primero las pertenencias exclusivas y los solapamientos entre pares.

# install.packages("UpSetR")
library(UpSetR)

upset(genres_df,
      order.by = "degree")

UpSet plot ordenado por grado con UpSetR

Colores

UpSet plot con colores personalizados usando sets.bar.color y main.bar.color en UpSetR

Usa sets.bar.color para cambiar el color de las barras de tamaño de conjunto (panel izquierdo) y main.bar.color para las barras de tamaño de intersección (panel superior). matrix.color controla el color de los puntos en la matriz.

# install.packages("UpSetR")
library(UpSetR)

upset(genres_df,
      sets.bar.color = "steelblue",
      main.bar.color = "tomato3")

Consultas

Usa queries para resaltar una intersección específica. Establece query = intersects, pasa los nombres de los conjuntos en params, elige un color y pon active = TRUE para rellenar la barra en lugar de solo añadir un contorno.

# install.packages("UpSetR")
library(UpSetR)

upset(genres_df,
      queries = list(
        list(query  = intersects,
             params = list("Drama", "Comedy"),
             color  = "steelblue",
             active = TRUE)
      ))

UpSet plot con intersección resaltada usando queries en UpSetR

MASTER - STATISTICS DOT COM

Master Statistics

Aprende estadística desde lo básico hasta técnicas avanzadas, explicado con claridad

Ir al sitio
R PACKAGES IO

R Packages

Explora y descubre miles de paquetes, funciones y datasets de R

Ir al sitio

También te puede interesar