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 mas 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 tamano de cada conjunto; las barras verticales muestran el tamano de cada interseccion. Los puntos conectados en la matriz indican que conjuntos forman cada interseccion.

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

upset(genres_df)

UpSet plot basico en R con UpSetR

nsets y nintersects

UpSet plot controlando numero de conjuntos e intersecciones con UpSetR

nsets controla cuantos conjuntos aparecen en el grafico (los mas grandes por defecto). nintersects limita cuantas intersecciones se muestran en el grafico de barras. Aumenta ambos para tener una vision mas 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 numero de conjuntos en cada interseccion, util 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 tamano de conjunto (panel izquierdo) y main.bar.color para las barras de tamano de interseccion (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 interseccion especifica. 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 anadir 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 interseccion 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