Los histogramas por defecto en ggplot2 y en R base son diferentes, ya que ggplot2 utiliza 30 clases mientras que la función hist
de R base usa el método de Sturges para calcular el número de clases.
Como puedes ver, los histogramas de ggplot2 tienden a tener demasiadas clases por defecto. Puedes cambiar el ancho de las barras o el número de clases al valor que quieras.
# install.packages("ggplot2")
library(ggplot2)
# Datos
set.seed(3)
x <- rnorm(450)
df <- data.frame(x)
# Histograma por defecto en ggplot2
ggplot(df, aes(x = x)) +
geom_histogram()
Los histogramas por defecto con la función hist
son más adecuados, ya que se utiliza el método de Sturges.
# Datos
set.seed(3)
x <- rnorm(450)
df <- data.frame(x)
# Histograma por defecto en R base
hist(x)
Si quieres crear un histograma en ggplot2 que use el método de Sturges puedes calcular los puntos de corte de la siguiente manera y pasarlos al argumento breaks
.
# install.packages("ggplot2")
library(ggplot2)
# Datos
set.seed(3)
x <- rnorm(450)
df <- data.frame(x)
# Calcular los puntos de corte
breaks <- pretty(range(x),
n = nclass.Sturges(x),
min.n = 1)
df$breaks <- breaks
# Histograma con el método de Sturges
ggplot(df, aes(x = x)) +
geom_histogram(color = 1, fill = "white",
breaks = breaks) +
ggtitle("Método de Sturges")
También te puede interesar