基本上,我在绘制相对频率直方图时遇到了麻烦,因为在绘制数据时,我的y轴始终大于1。我也想将正态分布叠加在顶部,但是似乎永远无法正常工作。
到目前为止我已经制作了:https://imgur.com/H9lWBVg
我在绘制直方图时尝试了多种方法,例如hist()
,truehist()
和plot()
等。
truehist(aest,freq=TRUE, xlab = "Average Est", col="blue")
curve(dnorm(x,mean(aest),sd(aest)),col="red", add=TRUE, lwd=2)
legend("topright",legend=c(paste("median = ",toString(mean(aest))),paste("mean = ",toString(median(aest))),paste("SD = ",toString(sd(aest)))), cex=0.65)
答案 0 :(得分:0)
您正在寻找密度图,而不是频率图。尝试hist
与
freq = FALSE
您将获得所需的结果。我没有您的数据,但将其中包含的一些随机数据扣除后,将像这样:
hist(move$dist,freq=FALSE, xlab = "Average Est", col="blue")
curve(dnorm(x,mean(move$dist),sd(move$dist)),col="red", add=TRUE, lwd=2)
legend("topright",
legend=c(paste("median = ",toString(mean(move$dist))),
paste("mean = ",toString(median(move$dist))),
paste("SD = ",toString(sd(move$dist)))),
cex=0.65)
或者您可以执行truehist
,但是参数不是freq
,
prob = TRUE
看起来像这样:
truehist(move$dist,prob = TRUE, xlab = "Average Est", col="blue", nbins = "fd")
curve(dnorm(x,mean(move$dist),sd(move$dist)),col="red", add=TRUE, lwd=2)
legend("topright",
legend=c(paste("median = ",toString(mean(move$dist))),
paste("mean = ",toString(median(move$dist))),
paste("SD = ",toString(sd(move$dist)))),
cex=0.65)