Trazar una curva normal sobre el histograma usando ggplot2: el código produce una línea recta en 0

este foro ya me ayudó mucho para producir el código, que esperaba devolver un histograma de una variable específica superpuesta con su curva empírica normal. Usé ggplot2 y stat_function para escribir el código. Desafortunadamente, el código produjo una gráfica con el histograma correcto, pero la curva normal es una línea recta en cero (línea roja en la gráfica producida por el siguiente código).

Para este ejemplo mínimo, utilicé el conjunto de datos mtcars: el mismo comportamiento de ggplot y stat_function se observa con mi conjunto de datos original.

Este es el código que se escribe y se usa:

library(ggplot2)
mtcars
hist_staff <- ggplot(mtcars, aes(x = mtcars$mpg)) + 
  geom_histogram(binwidth = 2, colour = "black", aes(fill = ..count..)) +
  scale_fill_gradient("Count", low = "#DCDCDC", high = "#7C7C7C") +
  stat_function(fun = dnorm, colour = "red")
print(hist_staff)

También intenté especificar dnorm:

stat_function(fun = dnorm(mtcars$mpg, mean = mean(mtcars$mpg), sd = sd(mtcars$mpg))

Eso tampoco funcionó: apareció un mensaje de error que indica que los argumentos no son numéricos.

¡Espero que me puedan ayudar! ¡Muchas gracias por adelantado!

Mejor, Jannik

Respuestas a la pregunta(1)

Su respuesta a la pregunta