Traçando a curva normal sobre o histograma usando ggplot2: o código produz uma linha reta em 0

esse fórum já me ajudou muito na produção do código, que eu esperava retornar um histograma de uma variável específica sobreposta à sua curva empírica normal. Eu usei ggplot2 e stat_function para escrever o código. Infelizmente, o código produziu um gráfico com o histograma correto, mas a curva normal é uma linha reta no zero (linha vermelha no gráfico produzido pelo código a seguir).

Para este exemplo mínimo, usei o conjunto de dados mtcars - o mesmo comportamento de ggplot e stat_function é observado no meu conjunto de dados original.

Este é o código que foi escrito e usado:

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)

Eu também tentei especificar dnorm:

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

Isso também não deu certo - uma mensagem de erro retornou informando que os argumentos não são numéricos.

Espero que vocês possam me ajudar! Muito obrigado antecipadamente!

Jannik Best

questionAnswers(1)

yourAnswerToTheQuestion