Considera el siguiente conjunto de datos para este tutorial, donde la variable x
es una variable numérica extraída de una distribución exponencial y grupo
es una variable categórica que representa grupos
# Conjunto de datos de ejemplo
set.seed(3)
df <- data.frame(x = rexp(100),
grupo = sample(paste("Grupo", 1:3),
size = 100,
replace = TRUE))
Añadir puntos (strip charts) a un diagrama de caja en R base se puede lograr utilizando la función stripchart
. Para ello necesitas pasar los datos que usaste para crear el box plot, establecer el método "jitter"
para agregar ruido aleatorio a las observaciones, evitando solapamientos, establecer los argumentos gráficos que quieras, tales como pch
o col
y add = TRUE
de tal forma que los puntos se agreguen sobre el gráfico anterior. Recuerda que los diagramas de caja son verticales por defecto, por lo que tendrás que establecer vertical = TRUE
.
Diagrama de caja vertical con observaciones
# Box plot vertical
boxplot(df$x, col = "white")
# Puntos
stripchart(df$x, # Datos
method = "jitter", # Ruido aleatorio
pch = 19, # Símbolo pch
col = 4, # Color del símbolo
vertical = TRUE, # Modo vertical
add = TRUE) # Agregar encima
Diagrama de caja horizontal con observaciones
# Box plot horizontal
boxplot(df$x, col = "white", horizontal = TRUE)
# Puntos
stripchart(df$x, # Datos
method = "jitter", # Ruido aleatorio
pch = 19, # Símbolo pch
col = 4, # Color del símbolo
add = TRUE) # Agregar encima
Para agregar puntos cuando se trabaja con un diagrama de cajas por grupo necesitas pasar la misma fórmula que usaste dentro de la función boxplot
en la función stripchart
. Recuerda que los diagramas de caja son verticales por defecto, pero los stripcharts no.
Box plot vertical por grupo con puntos
# Box plot vertical por grupo
boxplot(x ~ grupo, data = df, col = "white")
# Puntos
stripchart(x ~ grupo,
data = df,
method = "jitter",
pch = 19,
col = 2:4,
vertical = TRUE,
add = TRUE)
Box plot horizontal por grupo con puntos
# Box plot horizontal por grupo
boxplot(x ~ grupo, data = df, col = "white",
horizontal = TRUE)
# Puntos
stripchart(x ~ grupo,
data = df,
method = "jitter",
pch = 19,
col = 2:4,
add = TRUE)
También te puede interesar