¿Cómo hacer Violinplot con puntos de datos en R?

En este artículo, discutiremos cómo hacer un diagrama de violín con puntos de datos en el lenguaje de programación R.

Un diagrama de violín es una visualización compacta de una distribución continua. El método geom_violin() en R se usa para construir una trama de violín en el espacio de trabajo que comprende varias asignaciones estéticas, como alfa, color o relleno.

Sintaxis:

geom_violin()

Para construir un diagrama de violín normal, simplemente llame a la función geom_violin() después de la visualización.

Ejemplo: una trama de violín regular

R

library("ggplot2")
  
# defining the columns of the data frame
data_frame <- data.frame(col1=c(rep("A", 10) , rep("B", 12) , rep("C", 18)),
                        col2=c( sample(2:5, 10 , replace=T) ,
                                sample(4:10, 12 , replace=T),
                                sample(1:7, 18 , replace=T))
)
  
# plotting the data frame
ggplot(data_frame, aes(x = col1, y = col2, fill = col1)) +
  
 # adding violin plot
 geom_violin()

Producción:

Agregar puntos de datos a violinplot

El ancho de un punto corresponde al ancho del contenedor en el caso de un diagrama de puntos. A esto le sigue el caso en el que los puntos están apilados, donde cada uno de los puntos representa una observación. Para agregar puntos de datos usamos geom_dotplot() después de crear un violinplot.

Sintaxis:

geom_dotplot(asignación = NULL,datos = NULL,binwidth = NULL,binaxis = “x”,stackdir = “arriba”)

Parámetro: 

  • mapeo – Conjunto de mapeos estéticos creados por aes()
  • datos: los datos que se mostrarán
  • binaxis: el eje a lo largo del bin, «x» o «y»
  • stackdir: define la dirección en la que se deben apilar los puntos
  • dotsize: el diámetro de los puntos en relación con el ancho del contenedor

Ejemplo: agregar puntos de datos a violinplot

R

# defining the columns of the data frame
data_frame <- data.frame(col1=c(rep("A", 10) , rep("B", 12) , rep("C", 18)),
                         col2=c( sample(2:5, 10 , replace=T) , 
                                sample(4:10, 12 , replace=T), 
                                sample(1:7, 18 , replace=T))
                         )
  
# plotting the data frame
ggplot(data_frame, aes(x = col1, y = col2, fill = col1)) +
  
# adding violin plot
  geom_violin(alpha = 0.5) +
  geom_dotplot(binaxis = "y",
               stackdir = "center",
               dotsize = 0.5)

Producción:

Añadiendo nerviosismo a la trama del violín 

El geom_plot() se puede mejorar trazando el violinplot con puntos de datos utilizando ruido aleatorio en los puntos de datos reales en el eje x. Estos puntos de datos se denominan «nerviosismo». El método geom_jitter() en R se usa para agregar una pequeña cantidad de variación aleatoria a la ubicación de cada punto. 

Ejemplo: agregar nerviosismo a la trama del violín

R

library("ggplot2")
  
# defining the columns of the data frame
data_frame <- data.frame(col1=c(rep("A", 10) , rep("B", 12) , rep("C", 18)),
                         col2=c( sample(2:5, 10 , replace=T) , 
                                 sample(4:10, 12 , replace=T), 
                                 sample(1:7, 18 , replace=T))
)
  
# plotting the data frame
ggplot(data_frame, aes(x = col1, y = col2, fill = col1)) +
  
  # adding violin plot
  geom_violin() +
  geom_jitter()

Producción:

Especificación del ancho de fluctuación en el diagrama de violín

La transparencia, así como el ancho de los puntos de datos en el diagrama de violín, se pueden improvisar especificando los argumentos, ancho y alfa en el método geom_jitter en R.

Sintaxis:

geom_jitter(alfa, ancho)

Parámetro:

  • alfa: corrige la transparencia
  • ancho: se utiliza para especificar el ancho de los puntos de fluctuación

Ejemplo: especificación del ancho de fluctuación en el diagrama de violín

R

library("ggplot2")
  
# defining the columns of the data frame
data_frame <- data.frame(col1=c(rep("A", 10) , rep("B", 12) , rep("C", 18)),
                         col2=c( sample(2:5, 10 , replace=T) , 
                                 sample(4:10, 12 , replace=T), 
                                 sample(1:7, 18 , replace=T))
)
  
# plotting the data frame
ggplot(data_frame, aes(x = col1, y = col2, fill = col1)) +
  # adding violin plot
  geom_violin() +
  geom_jitter(width=0.15, alpha=0.5)

Producción:

Publicación traducida automáticamente

Artículo escrito por mallikagupta90 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *