Librería

vioplot

Autor principal

Tom Kelly

Datos de muestra

Considera el conjunto de datos chickwts, que contiene una variable numérica (weight) con el peso de las gallinas de un experimento y una variable categórica (feed) con el tipo de alimentación para cada animal.

# Conjunto de datos de ejemplo
df <- chickwts

Gráfico de violín por grupo

Gráfico de violín por defecto

Los gráficos de violín son una alternativa a los gráficos de caja que se pueden crear en R base con la librería vioplot. Para crear un gráfico de violín por grupo tendrás que pasar una fórmula, tal que y ~ x, siendo y una variable numérica y x una variable categórica que contiene grupos.

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

vioplot(weight ~ feed, data = df)

# Equivalente a:
vioplot(df$weight ~ df$feed)

Gráfico de violín agrupado en R

Gráficos de violín horizontales

Los gráficos de violin por defecto se muestran en vertical, pero es posible crear gráficos de violín horizontales estableciendo el argumento horizontal como TRUE.

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

vioplot(df$weight ~ df$feed,
        horizontal = TRUE)

Gráficos de violín horizontales por grupo en R

Lados del violín

También puedes dibujar solo uno de los lados de los violines, estableciendo el argumento side como "right" o "left". Ten en cuenta que ambos lados son simétricos y representan la estimación kernel de la densidad de los datos subyacentes. vioplot utiliza una ventana óptima de la función sm.density.compare del paquete sm.

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

vioplot(df$weight ~ df$feed,
        side = "right") # o "left"

Lado del violín con vioplot

Personalizar los colores

Personalizar los colores con la función vioplot de R

Color de fondo

Los colores para cada grupo se pueden personalizar con el argumento col. Puedes establecer un color para cada violín pasando un vector de colores o establecer un único color para todos.

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

vioplot(weight ~ feed, data = df,
        col = c("#bef7ff", "#a6e2ff", "#8eccff",
                "#75b7ff", "#5da1ff", "#458cff"))

Gráfico de violín sin bordes

Color del borde

El color de borde para cada violín se puede personalizar de la misma manera que el color de fondo. Si quieres eliminar los bordes establece border = NA.

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

vioplot(weight ~ feed, data = df,
        col = c("#bef7ff", "#a6e2ff", "#8eccff",
                "#75b7ff", "#5da1ff", "#458cff"),
        border = NA)

También te puede interesar