在加权直方图上绘制正态曲线

时间:2013-02-20 11:56:42

标签: r normal-distribution weighted

我有一个数据集,要求我根据数据绘制加权直方图

gridcellname  value  avg.temp
Y55X21          4,84    4,09
Y56X17          0       5,34
Y44X44          2,75    1,8
Y46X38          3,68    3,4
Y58X19          4,32    5,08
Y59X17          0       4,8
Y60X20          5,29    5,27
Y61X18          0       5,15
Y62X21          5,59    5,09
Y63X19          3,05    5,47
Y64X22          2,75    5,04
Y65X25          4,82    4,54
Y66X22          0       4,54

我使用加权直方图并从

中断
H <- weighted.hist(df$avg.temp, df$value, ylim=c(0,120), breaks=c(seq(-1.5,8.5, by=0.5)))

OR

ggplot(df, aes(y=value, x=temp_category)) + stat_summary(fun.y="sum", geom="bar")

这给了我一个漂亮的图表,但我无法在它上面绘制正常的曲线。正如您从2个图中看到的那样,我可能没有(-1.5,-1)类别中的数据,但我仍然希望绘制它并保持我的yaxis范围(0,120),尽管我的最大值约为~40 。

我已经尝试过这两个代码来添加曲线,但它并不完全正确

xfit<-seq(min(df$value),max(df$value)) 
yfit<-dnorm(xfit,mean=mean(df$value),sd=sd(df$value)) 
yfit <- yfit*diff(H$mids[1:2])*length(df$value) 
lines(xfit, yfit, col="blue", lwd=2)

此曲线似乎位于我的情节的左侧。

ggplot(df, aes(y=value, x=temp_category)) + stat_summary(fun.y="sum", geom="bar") + stat_function(fun=dnorm, args=list(mean=mean(df$value), sd=sd(df$value)))

这给了我一条与x轴几乎平坦的水平线。

谢谢!

0 个答案:

没有答案