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

R 通过直方图拟合正态分布曲线,r,histogram,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 <-

我有一个数据集,我想把一些值的曲线通过直方图。这是我的密码:

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)
g=na.省略(对等$wellbeing1年)
历史(g)

h有两种情况可能会阻止直方图拟合正态分布。最明显的一点是,您的数据不是正态分布的。在您的情况下,似乎分布是(即,峰值太高而不正常)。可以使用
stats::shapiro.test()对其进行测试

另一个原因可能是直方图的形状对x轴上的切割很敏感,因此处理这些图形有时会给相同的数据提供更好的拟合