Построение нормальной кривой по гистограмме с использованием 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))
Это тоже не сработало - возвращалось сообщение об ошибке, в котором говорилось, что аргументы не являются числовыми.
Я надеюсь, что вы, люди, можете мне помочь! Заранее большое спасибо!
Бест, Янник