Gráfico de barras con barras de error

Los gráficos de barras con barras de error se utilizan con mucha frecuencia en las ciencias ambientales para representar la variación en una variable continua dentro de una o más variables categóricas. No siempre es sencillo crear estos gráficos con las funciones base de R. Esta página te muestra cómo hacer estos gráficos con el paquete ggplot2.

Antes de empezar, lee la página sobre los conceptos básicos de visualización con ggplot e instala el paquete ggplot2.

library(ggplot2)

En estos ejemplos, utilizaremos un conjunto de datos que ya está en R con la longitud y el ancho de partes florales de tres especies de iris. Primero, carga el conjunto de datos:

data(iris)

Para contrastar una variable entre especies, primero necesitamos resumir los datos para obtener las medias y una medida de variación para cada una de las tres especies en el conjunto de datos. Hay varias formas de hacer esto en R, pero nos gusta utilizar las funciones summarise y group_by del paquete dplyr. Consulta aquí para obtener más detalles sobre cómo usar dplyr para resumir datos.

El siguiente código creará un nuevo marco de datos con los datos resumidos por especie.

library(dplyr)

Iris_summary <- iris %>% # the names of the new data frame and the data frame to be summarised
  group_by(Species) %>% # the grouping variable
  summarise(
    mean_PL = mean(Petal.Length), # calculates the mean of each group
    sd_PL = sd(Petal.Length), # calculates the standard deviation of each group
    n_PL = n(), # calculates the sample size per group
    SE_PL = sd(Petal.Length) / sqrt(n())
  ) # calculates the standard error of each group

Ahora podemos hacer un gráfico de barras de medias vs. especies, con desviaciones estándar o errores estándar como barras de error. El siguiente código utiliza las desviaciones estándar.

IrisPlot <- ggplot(Iris_summary, aes(Species, mean_PL)) +
  geom_col() +
  geom_errorbar(aes(ymin = mean_PL - sd_PL, ymax = mean_PL + sd_PL), width = 0.2)

IrisPlot + labs(y = "Petal length (cm) +/- s.d.", x = "Species") + theme_classic()

geom_col utiliza el valor de la variable y (mean_PL) como altura de las barras.

En el código de geom_errorbar, ymin y ymax son la parte superior e inferior de las barras de error (definidas aquí como media +/- sd), y width define el ancho de las barras de error.

Más ayuda

Para personalizar aún más la estética del gráfico, incluyendo el color y el formato, consulta nuestras otras páginas de ayuda de ggplot: * Alterar la apariencia general * Añadir títulos y nombres de ejes * Colores y símbolos

Puedes encontrar ayuda sobre todas las funciones de ggplot en el sitio de ayuda maestro de ggplot.

Puedes descargar una hoja de referencia útil sobre funciones comúnmente utilizadas aquí.

Chang, W (2012) R Graphics cookbook. O’Reilly Media. - una guía de gg