gpt4 book ai didi

r - 将正态曲线叠加到 R 中的直方图

转载 作者:行者123 更新时间:2023-12-03 05:46:14 27 4
gpt4 key购买 nike

我已经设法在线找到如何将正态曲线覆盖到 R 中的直方图,但我想保留直方图的正常“频率”y 轴。请参阅下面的两个代码段,并注意第二个代码段中 y 轴如何替换为“密度”。我怎样才能将 y 轴保留为“频率”,就像第一个图中一样。

额外奖励:我还想在密度曲线上标记 SD 区域(最多 3 SD)。我怎样才能做到这一点?我尝试了 abline,但这条线延伸到了图表的顶部,看起来很丑。

g = d$mydata
hist(g)

enter image description here

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")

enter image description here

看看上图中,y 轴是“密度”。我希望将其设为“频率”。

最佳答案

这是我发现的一个很好的简单方法:

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)

关于r - 将正态曲线叠加到 R 中的直方图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20078107/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com