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

Actualizado el 17 de julio de 2024, por Luis Benites.

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/

Redactor del artículo

  • Luis Benites
    Director de Statologos.com

    Tengo una Maestría en Ciencias en Estadística Aplicada y he trabajado en algoritmos de aprendizaje automático para empresas profesionales tanto en el sector de la salud como en el comercio minorista.

    Ver todas las entradas

¿Te hemos ayudado?

Ayudanos ahora tú, dejanos un comentario de agradecimiento, nos ayuda a motivarnos y si te es viable puedes hacer una donación:

La ayuda no cuesta nada

Por otro lado te rogamos que compartas nuestro sitio con tus amigos, compañeros de clase y colegas, la educación de calidad y gratuita debe ser difundida, recuerdalo:

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!