通过直方图拟合正态分布曲线

时间:2020-01-04 22:57:30

标签: r histogram

我有一个数据集,我希望通过直方图绘制一些值的曲线。这是我的代码:

g = na.omit(peeronly$wellbeing1yr)
hist(g)
h <- hist(g, breaks = 10, density = 10, ylim=c(0,70),
          col = "red", xlab = "Well-being score", main = " ") 
xfit <- seq(min(g), max(g), length = 100) 
yfit <- dnorm(xfit, mean = mean(g), sd = sd(g)) 
yfit <- yfit * diff(h$mids[1:2]) * length(g) 
lines(xfit, yfit, col = "blue", lwd = 2)

这是输出:

为什么曲线没有穿过最高的条形,为什么它会在最后变得怪异?

1 个答案:

答案 0 :(得分:0)

有些事情可能会使符合正态分布的直方图停止。最明显的是我们您的数据不是正态分布的。在您的情况下,分布似乎是kurtotic(即,峰值已经太高而无法正常显示)。可以使用stats::shapiro.test()

对此进行测试

似乎不太适合的另一个原因是直方图的形状对x轴上的切割很敏感,因此使用这些直方图有时可以使相同的数据看起来更合适。

相关问题