通过R中的x值在直方图上缩放y轴的更好方法是什么?

时间:2013-10-29 17:02:48

标签: r histogram

就像提出这个问题的人(How do I scale the y-axis on a histogram by the x values in R?)一样,我感兴趣的是绘制直方图,而不是计数。

我非常喜欢一位评论者建议的解决方案:

d<-rgamma(100,5,1.5)
z<-hist(d,plot=FALSE)
co<-z$counts # original counts of each bin
z$counts<-aggregate(d,list(cut(d,z$breaks)),sum)$x # sum up the value of data in each bin
plot(z)

但是,如果有空箱,此方法不会给出相应的答案。例如:

z2<-hist(d,plot=FALSE,breaks=100)
z2$counts<-aggregate(d,list(cut(d,z2$breaks)),sum)$x
plot(z2)

给出了一个明确错误形状的直方图。它似乎可以重复非空箱,以便填写必要的插槽。

有没有更好的方法做同样的事情?

1 个答案:

答案 0 :(得分:1)

我认为您只想替换z2 $计数中存在非零值的元素:

z2<-hist(d,plot=FALSE,breaks=100)
z2$counts[z2$counts >0] <-aggregate(d,list(cut(d,z2$breaks)),sum)$x
plot(z2, ylab="Totals")