geom_errorbar requiere un data frame con un valor central y los límites inferior y superior. Aquí calculamos la media y la desviación típica de Sepal.Length por especie a partir del dataset iris.
# install.packages("dplyr")
library(dplyr)
df <- iris |>
group_by(Species) |>
summarise(
mean_sl = mean(Sepal.Length),
sd_sl = sd(Sepal.Length)
)
geom_errorbar()
Mapea ymin e ymax dentro de aes() para definir los límites inferior y superior de cada barra. Aquí usamos media ± 1 DT.
# install.packages("ggplot2")
library(ggplot2)
ggplot(df, aes(x = Species, y = mean_sl)) +
geom_errorbar(aes(ymin = mean_sl - sd_sl,
ymax = mean_sl + sd_sl))

width

width controla el tamaño de los extremos horizontales. El valor por defecto es bastante amplio — 0.2 es una elección habitual para un aspecto más limpio.
# install.packages("ggplot2")
library(ggplot2)
ggplot(df, aes(x = Species, y = mean_sl)) +
geom_errorbar(aes(ymin = mean_sl - sd_sl,
ymax = mean_sl + sd_sl),
width = 0.2)
El uso más habitual de geom_errorbar es sobre un gráfico de barras. Añade geom_col() primero para que las barras queden detrás de las barras de error.
# install.packages("ggplot2")
library(ggplot2)
ggplot(df, aes(x = Species, y = mean_sl)) +
geom_col(fill = "steelblue", alpha = 0.7) +
geom_errorbar(aes(ymin = mean_sl - sd_sl,
ymax = mean_sl + sd_sl),
width = 0.2)


Dibuja la barra de error primero y el punto encima para un gráfico de puntos con intervalos de confianza limpio.
# install.packages("ggplot2")
library(ggplot2)
ggplot(df, aes(x = Species, y = mean_sl)) +
geom_errorbar(aes(ymin = mean_sl - sd_sl,
ymax = mean_sl + sd_sl),
width = 0.2) +
geom_point(size = 3, color = "steelblue")
Combina geom_line(), geom_errorbar() y geom_point() para mostrar la incertidumbre a lo largo del tiempo.
# install.packages("ggplot2")
library(ggplot2)
df_time <- data.frame(
year = 2018:2023,
mean_y = c(3.2, 3.8, 4.1, 3.9, 4.5, 4.8),
sd_y = c(0.5, 0.4, 0.6, 0.5, 0.4, 0.3)
)
ggplot(df_time, aes(x = year, y = mean_y)) +
geom_line() +
geom_errorbar(aes(ymin = mean_y - sd_y,
ymax = mean_y + sd_y),
width = 0.2) +
geom_point(size = 2)

geom_errorbarh()

Usa geom_errorbarh() para barras de error horizontales. Intercambia x e y en aes() y sustituye ymin/ymax por xmin/xmax. El tamaño de los extremos se controla con height en lugar de width.
# install.packages("ggplot2")
library(ggplot2)
ggplot(df, aes(y = Species, x = mean_sl)) +
geom_errorbarh(aes(xmin = mean_sl - sd_sl,
xmax = mean_sl + sd_sl),
height = 0.2) +
geom_point(size = 3, color = "steelblue")
Cuando hay varios grupos por categoría, usa position_dodge() tanto en geom_errorbar() como en geom_point() con el mismo ancho de separación para que queden alineados.
# install.packages("ggplot2")
library(ggplot2)
ggplot(df_group, aes(x = group, y = mean_y,
color = condition)) +
geom_errorbar(aes(ymin = mean_y - sd_y,
ymax = mean_y + sd_y),
width = 0.2,
position = position_dodge(0.5)) +
geom_point(size = 3,
position = position_dodge(0.5))


Pasa color, linewidth y linetype fuera de aes() para aplicarlos a todas las barras a la vez.
# install.packages("ggplot2")
library(ggplot2)
ggplot(df, aes(x = Species, y = mean_sl)) +
geom_errorbar(aes(ymin = mean_sl - sd_sl,
ymax = mean_sl + sd_sl),
width = 0.2,
color = "steelblue",
linewidth = 0.8,
linetype = "dashed")
Aprende estadística desde lo básico hasta técnicas avanzadas, explicado con claridad
Ir al sitio
También te puede interesar