Por defecto, los cálculos para crear un histograma con geom_histogram
a través de stat_bin
usan 30 barras o clases, lo que no es siempre un buen valor por defecto.
# install.packages("ggplot2")
library(ggplot2)
# Datos
set.seed(05022021)
x <- rnorm(600)
df <- data.frame(x)
# Histograma por defecto
ggplot(df, aes(x = x)) +
geom_histogram()
Esta es la razón por la que recibes el siguiente mensaje cada vez que creas un histograma por defecto en ggplot2:
stat_bin()
using bins = 30
. Pick better value with binwidth
.
Las posibles opciones para solucionar este problema son seleccionar el número de clases o barras con el argumento bins
o modificar el ancho de cada barra con el argumento binwidth
.
bins
El número de clases o barras del histograma se puede personalizar con el argumento bins
de la función geom_histogram
. En este ejemplo 15 clases parece una buena elección mientras que 50 son demasiadas.
15 clases
# install.packages("ggplot2")
library(ggplot2)
# Datos
set.seed(05022021)
x <- rnorm(600)
df <- data.frame(x)
# Clases del histograma
ggplot(df, aes(x = x)) +
geom_histogram(colour = 4, fill = "white",
bins = 15)
50 clases
# install.packages("ggplot2")
library(ggplot2)
# Datos
set.seed(05022021)
x <- rnorm(600)
df <- data.frame(x)
# Clases del histograma
ggplot(df, aes(x = x)) +
geom_histogram(colour = 4, fill = "white",
bins = 50)
binwidth
La otra opción es usar el argumento binwidth
de la función geom_histogram
. Este argumento controla el ancho de cada barra sobre el eje X. Ten en cuenta que este argumento sobrescribe al argumento bins
.
Binwidth de 0.5
# install.packages("ggplot2")
library(ggplot2)
# Datos
set.seed(05022021)
x <- rnorm(600)
df <- data.frame(x)
# Ancho de las barras del histograma
ggplot(df, aes(x = x)) +
geom_histogram(colour = 4, fill = "white",
binwidth = 0.5)
Binwidth de 0.15
# install.packages("ggplot2")
library(ggplot2)
# Datos
set.seed(05022021)
x <- rnorm(600)
df <- data.frame(x)
# Ancho de las barras del histograma
ggplot(df, aes(x = x)) +
geom_histogram(colour = 4, fill = "white",
binwidth = 0.15)
La función hist
de R base usa el método de Sturges para calcular el número de clases, siendo este un buen valor por defecto.
También te puede interesar