Histograma con curvas de densidad en R

Se puede crear un histograma básico con la función hist. Para superponer una curva normal o la línea de densidad tendrás que crear un histograma que contenga prob = TRUE como argumento.

# Datos de muestra
set.seed(3)
x <- rnorm(200)

# Histogramaa
hist(x, prob = TRUE)

Histograma básico en R

Histograma con curva normal

Histograma con curva normal en R

Si quieres superponer una curva normal sobre el histograma tendrás que calcularla con la función dnorm en base a un grid de valores y la media y desviación típica de los datos. Luego podrás agregarla con la función lines.

# Grid del eje X
x2 <- seq(min(x), max(x), length = 40)

# Curva normal
fun <- dnorm(x2, mean = mean(x), sd = sd(x))

# Histograma
hist(x, prob = TRUE, col = "white",
     ylim = c(0, max(fun)),
     main = "Histograma con curva normal")
lines(x2, fun, col = 2, lwd = 2)

Histograma con línea de densidad

Si prefieres agregar una curva de densidad de los datos puedes usar la función density tal y como se muestra en el siguiente ejemplo.

# Datos de muestra
set.seed(3)
x <- rnorm(200)

# Histograma
hist(x, prob = TRUE, ylim = c(0, max(fun)),
     main = "Histograma con curva de densidad")
lines(density(x), col = 4, lwd = 2)

Histograma con línea de densidad en R

ggplot2

Elegant Graphics for Data Analysis

Comprar en Amazon
Storytelling con Datos

Visualización de datos para profesionales

Comprar en Amazon
Better Data Visualizations

A Guide for Scholars, Researchers, and Wonks

Comprar en Amazon
Fundamentals of Data Visualization

A Primer on Making Informative and Compelling Figures

Comprar en Amazon

También te puede interesar