geom_boxplot
Si tienes un data frame que contiene una variable numérica puedes usar geom_boxplot
para crear un box plot (diagrama de cajas) en ggplot2, pasando la variable a aes
.
# install.packages("ggplot2")
library(ggplot2)
# Datos
set.seed(3)
y <- rnorm(500)
df <- data.frame(y)
# Basic box plot
ggplot(df, aes(y = y)) +
geom_boxplot()
Alternativamente puedes establecer x = ""
. Esto eliminará los valores del eje X y hará la caja más estrecha.
# install.packages("ggplot2")
library(ggplot2)
# Datos
set.seed(3)
y <- rnorm(500)
df <- data.frame(y)
# Basic box plot
ggplot(df, aes(x = "", y = y)) +
geom_boxplot()
stat_boxplot
El diagrama de caja y bigotes de ggplot2 no añade las líneas horizontales de las barras de error, pero puedes agregarlas con stat_boxplot
, estableciendo geom = "errorbar"
. Ten en cuenta que puedes cambiar su ancho con width
.
# install.packages("ggplot2")
library(ggplot2)
# Datos
set.seed(3)
y <- rnorm(500)
df <- data.frame(y)
# Basic box plot
ggplot(df, aes(y = y)) +
stat_boxplot(geom = "errorbar",
width = 0.15) +
geom_boxplot()
Existen dos maneras de cambiar la orientación de un box plot en ggplot2: cambiando la variable en aes
o usando coord_flip
, tal y como se muestra en los siguientes ejemplos.
Opción 1: cambiando el argumento.
# install.packages("ggplot2")
library(ggplot2)
# Datos
set.seed(3)
y <- rnorm(500)
df <- data.frame(y)
# Box plot horizontal
ggplot(df, aes(x = y)) +
stat_boxplot(geom = "errorbar",
width = 0.15) +
geom_boxplot()
Opción 2: usando coord_flip
.
# install.packages("ggplot2")
library(ggplot2)
# Datos
set.seed(3)
y <- rnorm(500)
df <- data.frame(y)
# Box plot horizontal
ggplot(df, aes(y = y)) +
stat_boxplot(geom = "errorbar",
width = 0.15) +
geom_boxplot() +
coord_flip()
Los box plots hechos con ggplot se pueden personalizar haciendo uso de los argumentos de las funciones stat_boxplot
y geom_boxplot
. En los ejemplos siguientes cambiamos los colores y los tipos de líneas de los gráficos, resaltando los argumentos correspondientes.
Personalización de colores
# install.packages("ggplot2")
library(ggplot2)
# Datos
set.seed(3)
y <- rnorm(500)
df <- data.frame(y)
# Box plot customization
ggplot(df, aes(y = y)) +
stat_boxplot(geom = "errorbar",
width = 0.15,
color = 1) + # Color barras error
geom_boxplot(fill = 2, # Color caja
alpha = 0.5, # Transparencia
color = 1, # Color del borde
outlier.colour = 2) # Color atípicos
Tipos de líneas
# install.packages("ggplot2")
library(ggplot2)
# Datos
set.seed(3)
y <- rnorm(500)
df <- data.frame(y)
# Basic box plot
ggplot(df, aes(y = y)) +
stat_boxplot(geom = "errorbar",
width = 0.15,
linetype = 2, # Tipo de línea
lwd = 0.5) + # Ancho de línea
geom_boxplot(linetype = 2, # Tipo de línea
lwd = 0.5) # Ancho de línea
También te puede interesar