Построение нормальной кривой по гистограмме с использованием ggplot2: код выдает прямую линию в 0

этот форум уже очень помог мне в создании кода, который я ожидал вернуть гистограмму определенной переменной, наложенной на ее эмпирическую нормальную кривую. Я использовал ggplot2 и stat_function для написания кода. К сожалению, код создал график с правильной гистограммой, но нормальная кривая - это прямая линия в нуле (красная линия на графике, полученная с помощью следующего кода).

Для этого минимального примера я использовал набор данных mtcars - то же поведение ggplot и stat_function наблюдается с моим исходным набором данных.

Это код написан и используется:

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)

Я также попытался указать dnorm:

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

Это тоже не сработало - возвращалось сообщение об ошибке, в котором говорилось, что аргументы не являются числовыми.

Я надеюсь, что вы, люди, можете мне помочь! Заранее большое спасибо!

Бест, Янник

Ответы на вопрос(1)

Ваш ответ на вопрос