Наложение нормальной кривой на гистограмму в R
мне удалось найти в интернете, как наложить нормальную кривую гистограммы в R, но я хотел бы сохранить нормальные "частоты" по оси Y гистограммы. См. два сегмента кода ниже, и обратите внимание, как во втором, ось y заменяется на "плотность". Как я могу сохранить эту ось y как "частоту", как это показано на первом графике.
В КАЧЕСТВЕ БОНУСА: Я хотел бы отметить области SD (до 3 SD) на кривой плотности, а также. Как я могу это сделать? Я пытался abline, но линия простирается до верхней части графика и выглядит некрасиво.
g = d$mydata
hist(g)

g = d$mydata
m<-mean(g)
std<-sqrt(var(g))
hist(g, density=20, breaks=20, prob=TRUE,
xlab="x-variable", ylim=c(0, 2),
main="normal curve over histogram")
curve(dnorm(x, mean=m, sd=std),
col="darkblue", lwd=2, add=TRUE, yaxt="n")

смотрите, как на изображении выше, ось y - это "плотность". Я бы хотел, чтобы это была "частота".
2 ответов:
вот хороший простой способ, который я нашел:
h <- hist(g, breaks = 10, density = 10, col = "lightgray", xlab = "Accuracy", main = "Overall") xfit <- seq(min(g), max(g), length = 40) yfit <- dnorm(xfit, mean = mean(g), sd = sd(g)) yfit <- yfit * diff(h$mids[1:2]) * length(g) lines(xfit, yfit, col = "black", lwd = 2)
Comments