Librería

ggrain

Autor principal

Nicholas Judd

Datos de muestra

Un raincloud plot combina tres capas: un medio violín (densidad), un boxplot y los datos individuales. Muestra la distribución completa sin ocultar observaciones. Usaremos el dataset iris a lo largo del post.

head(iris)

geom_rain()

ggrain proporciona geom_rain(), que dibuja los tres componentes en una sola llamada. Mapea una variable numérica a y y una variable de grupo a x.

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

ggplot(iris, aes(x = Species, y = Sepal.Length)) +
  geom_rain()

Raincloud plot básico en R con ggrain geom_rain

Color por grupo

Raincloud plot coloreado por grupo con ggrain en R

Mapea la variable de grupo a fill y color en aes(). Los tres componentes — violín, caja y puntos — heredan los colores automáticamente.

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

ggplot(iris, aes(x = Species, y = Sepal.Length,
                 fill = Species, color = Species)) +
  geom_rain(alpha = 0.5) +
  theme(legend.position = "none")

Horizontal

Añade coord_flip() para rotar el gráfico. Es útil cuando los nombres de grupo son largos o simplemente prefieres la orientación horizontal.

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

ggplot(iris, aes(x = Species, y = Sepal.Length,
                 fill = Species, color = Species)) +
  geom_rain(alpha = 0.5) +
  theme(legend.position = "none") +
  coord_flip()

Raincloud plot horizontal con coord_flip en R

Personalizar cada componente

Raincloud plot con violín caja y puntos personalizados en ggrain

Pasa listas a point.args, violin.args y boxplot.args para controlar cada componente por separado — tamaño, alpha, grosor, color y cualquier otra estética de ggplot2.

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

ggplot(iris, aes(x = Species, y = Sepal.Length,
                 fill = Species, color = Species)) +
  geom_rain(
    alpha        = 0.5,
    point.args   = list(size = 1.5, alpha = 0.4),
    violin.args  = list(color = NA),
    boxplot.args = list(width = 0.1, outlier.shape = NA)
  ) +
  theme(legend.position = "none")

Enfoque manual con ggplot2

Sin ningún paquete adicional, combina geom_violin(), geom_boxplot() y geom_jitter() directamente. El resultado es un violín completo en lugar de medio violín, pero recoge la misma información en un solo gráfico.

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

ggplot(iris, aes(x = Species, y = Sepal.Length, fill = Species)) +
  geom_violin(alpha = 0.5, trim = FALSE) +
  geom_boxplot(width = 0.1, outlier.shape = NA, fill = "white") +
  geom_jitter(width = 0.05, alpha = 0.3, size = 1.2) +
  theme(legend.position = "none")

Raincloud plot manual en ggplot2 con violín boxplot y jitter

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