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()


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")
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()


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")
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")

Aprende estadística desde lo básico hasta técnicas avanzadas, explicado con claridad
Ir al sitio
También te puede interesar