Cómo ordenar las barras en un gráfico de barras ggplot2

Actualizado por ultima vez el 7 de mayo de 2021, por .

Los gráficos de barras son útiles para mostrar las frecuencias de diferentes categorías de datos. De forma predeterminada, los gráficos de barras ggplot2 ordenan las barras en el siguiente orden:

  • Las variables de factor están ordenadas por niveles de factor.
  • Las variables de carácter están ordenadas alfabéticamente.

Sin embargo, a menudo le puede interesar ordenar las barras en algún otro orden específico. Este tutorial explica cómo hacerlo usando el siguiente marco de datos:

#create marco de datos
df <- data.frame (equipo = c ('B', 'B', 'B', 'A', 'A', 'C'),
                 puntos = c (12, 28, 19, 22, 32, 45),
                 rebotes = c (5, 7, 7, 12, 11, 4))

#ver la estructura del marco de datos
str (df)

'data.frame': 6 obs. de 3 variables:
 $ equipo: Factor con 3 niveles "A", "B", "C": 2 2 2 1 1 3
 $ puntos: num 12 28 19 22 32 45
 $ rebotes: num 5 7 7 12 11 4

Ejemplo 1: Ordene las barras según un orden de factor específico

Si intentamos crear un gráfico de barras para mostrar la frecuencia por equipo, las barras aparecerán automáticamente en orden alfabético:

biblioteca (ggplot2)

ggplot (df, aes (x = equipo)) +
  geom_bar ()

El siguiente código muestra cómo ordenar las barras por un orden específico:

#especificar orden de nivel de factor 
df $ equipo = factor (df $ equipo, niveles = c ('C', 'A', 'B'))

 #crear gráfico de barras de nuevo 
ggplot (df, aes (x = equipo)) +
  geom_bar()

Ejemplo 2: Ordene las barras según el valor numérico

También podemos ordenar las barras en función de valores numéricos. Por ejemplo, el siguiente código muestra cómo ordenar las barras de mayor a menor frecuencia usando la función reorder () :

biblioteca (ggplot2)

ggplot (df, aes (x = reordenar (equipo, equipo, función (x) -length (x)))) +
   geom_bar ()

Ordenar barras en el gráfico de barras ggplot2

También podemos ordenar las barras de menor a mayor frecuencia eliminando el signo menos en la llamada a function () dentro de la función reorder () :

biblioteca (ggplot2)

ggplot (df, aes (x = reordenar (equipo, equipo, función (x) longitud (x)))) +
   geom_bar ()

Ordenar barras de menor a mayor en el gráfico de barras ggplot2

Recursos adicionales

Documentación para la función geom_bar () .
Documentación para la función reorder () .
Una lista completa de tutoriales de R sobre Estadología.

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

Deja un comentario

Una distribución de muestreo es una distribución de probabilidad de una determinada estadística basada en muchas muestras aleatorias de una…
statologos comunidad-2

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

You have Successfully Subscribed!