Cómo crear un gráfico de piruletas en R

Similar a un gráfico de barras, un gráfico de paleta es útil para comparar los valores cuantitativos de una variable categórica. Sin embargo, en lugar de usar barras, un gráfico de piruletas usa líneas con círculos al final para representar los valores cuantitativos.

Un gráfico de paleta es una manera excelente de comparar múltiples categorías mientras mantiene mínima la cantidad de color en el gráfico y llama la atención del lector sobre los valores reales en el gráfico en contraposición a las líneas u otros gráficos en el gráfico. Mucha gente también considera que la tabla de piruletas es estéticamente agradable.

En este tutorial, recorreremos los pasos necesarios para crear el siguiente gráfico de piruletas:

Gráfico de piruletas usando ggplot2 en R

Ejemplo: gráfico de piruletas en R

Para este ejemplo, usaremos el conjunto de datos R integrado mtcars :

#ver las primeras seis filas de mtcars
 head (mtcars)

conjunto de datos mtcars en R

Un gráfico básico de piruletas

El siguiente código ilustra cómo crear un gráfico de paleta para comparar el mpg (millas por galón) de cada uno de los 32 autos en el conjunto de datos.

Los nombres de los coches se definen en los nombres de las filas del conjunto de datos, por lo que primero creamos una nueva columna en el conjunto de datos que contiene estos nombres de filas.

A continuación, cargamos la biblioteca ggplot2 , que usaremos para crear realmente el gráfico de piruletas.

Con ggplot2, usamos geom_segment para crear las líneas en el gráfico. Definimos los valores de x inicial y final como 0 y mpg , respectivamente. Definimos los valores de y inicial y final como coche :

#crear una nueva columna para los nombres de los coches
mtcars $ car <- row.names (mtcars)

#cargar biblioteca ggplot2
biblioteca (ggplot2)

#crear gráfico de piruletas
ggplot (mtcars, aes (x = mpg, y = coche)) +
        segmento_geom (aes (x = 0, y = coche, xend = mpg, yend = coche)) +
        geom_point ()

Gráfico de piruletas en R usando ggplot2

Agregar etiquetas

También podemos agregar etiquetas al gráfico usando los argumentos label y geom_text :

ggplot (mtcars, aes (x = mpg, y = car, label = mpg )) +
        segmento_geom (aes (x = 0, y = coche, xend = mpg, yend = coche)) +
        geom_point () +
        geom_text (empujar_x = 1.5)

Gráfico de piruletas con etiquetas en R

O en lugar de colocar las etiquetas al final de cada línea, podríamos colocarlas dentro de los círculos agrandando los círculos y cambiando el color de la fuente de la etiqueta a blanco:

ggplot (mtcars, aes (x = mpg, y = car, label = mpg)) +
        segmento_geom (aes (x = 0, y = coche, xend = mpg, yend = coche)) +
        geom_point ( tamaño = 7 ) +
        geom_text ( color = 'blanco', tamaño = 2 )

Gráfico de piruletas con etiquetas dentro de los círculos en R

Comparación de valores con un promedio

También podemos usar una tabla de piruletas para comparar valores con un número específico. Por ejemplo, podemos encontrar el valor promedio de mpg en el conjunto de datos y luego comparar el mpg de cada automóvil con el promedio.

El siguiente código usa la biblioteca dplyr para encontrar el valor promedio de mpg y luego ordenar los autos en orden ascendente de mpg :

#cargar biblioteca biblioteca dplyr
 (dplyr)

# encontrar el valor medio de mpg y organizar los coches en orden descendente de mpg
mtcars_new <- mtcars%>%
                arreglar (mpg)%>%
                mutate (mean_mpg = mean (mpg),
                       flag = ifelse (mpg - mean_mpg> 0, TRUE, FALSE),
                       coche = factor (coche, niveles =. $ coche))

#ver las primeras seis filas de mtcars_new
 head (mtcars_new)

Usando dplyr para organizar el conjunto de datos mtcars en R

A continuación, el siguiente código crea la tabla de piruletas definiendo el color del círculo para que sea igual al valor de la bandera (en este caso, VERDADERO o FALSO) y el valor de x inicial para cada automóvil es igual al valor promedio de mpg .

ggplot (mtcars_new, aes (x = mpg, y = coche, color = bandera )) +
        geom_segment (aes ( x = mean_mpg , y = car, xend = mpg, yend = car)) +
        geom_point ()

Tabla de piruletas ordenadas en R usando ggplot2

Al usar este tipo de esquema de color, podemos saber fácilmente qué autos tienen un mpg menor o superior al promedio del conjunto de datos.

De forma predeterminada, R usa azul y rojo como colores para el gráfico. Sin embargo, podemos usar los colores que queramos usando el argumento scale_colour_manual :

ggplot (mtcars_new, aes (x = mpg, y = coche, color = bandera)) +
        geom_segment (aes (x = mean_mpg, y = car, xend = mpg, yend = car)) +
        geom_point () +
        scale_colour_manual (valores = c ("violeta", "azul"))

Gráfico de piruletas con colores personalizados en R

Alterando la estética del gráfico

Por último, podemos utilizar las amplias capacidades de ggplot2 para alterar aún más la estética del gráfico y crear un producto final de aspecto profesional:

ggplot (mtcars_new, aes (x = mpg, y = coche, color = bandera)) +
        geom_segment (aes (x = mean_mpg, y = car, xend = mpg, yend = car), color = "gris") +
        geom_point () +
        anotar ("texto", x = 27, y = 20, etiqueta = "Superior al promedio", color = "# 00BFC4", tamaño = 3, hjust = -0.1, vjust = .75) +
        anotar ("texto", x = 27, y = 17, etiqueta = "Inferior al promedio", color = "# F8766D", tamaño = 3, hjust = -0.1, vjust = -.1) +
        segmento_geom (aes (x = 26.5, xend = 26.5, y = 19, yend = 23),
                     flecha = flecha (longitud = unidad (0.2, "cm")), color = "# 00BFC4") +
        segmento_geom (aes (x = 26.5, xend = 26.5, y = 18, yend = 14),
                     flecha = flecha (longitud = unidad (0.2, "cm")), color = "# F8766D") +
        laboratorios (título = "Millas por galón por automóvil") +
        theme_minimal () +
        tema (axis.title = element_blank (),
              panel.grid.minor = element_blank (),
              legend.position = "ninguno",
              text = element_text (familia = "Georgia"),
              axis.text.y = element_text (tamaño = 8),
              plot.title = element_text (tamaño = 20, margin = margin (b = 10), hjust = 0),
              plot.subtitle = element_text (tamaño = 12, color = "darkslategrey", margin = margin (b = 25, l = -25)),
              plot.caption = element_text (tamaño = 8, margin = margin (t = 10), color = "grey70", hjust = 0))

Gráfico de piruletas usando ggplot2 en R

  • https://r-project.org
  • https://www.python.org/
  • https://www.stata.com/

Deja un comentario

Muchas pruebas estadísticas suponen una varianza igual . Si se viola esta suposición, los resultados de las pruebas se vuelven…
statologos comunidad-2

Compartimos información EXCLUSIVA y GRATUITA solo para suscriptores (cursos privados, programas, consejos y mucho más)

You have Successfully Subscribed!