1

就像问这个问题的人一样(如何通过 R 中的 x 值缩放直方图上的 y 轴?),我对绘制除计数以外的因子缩放的直方图感兴趣。

我真的很喜欢一位评论者建议的这个解决方案:

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)

给出一个明显错误形状的直方图。它似乎会根据需要多次重复非空箱以填充必要的插槽。

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

4

1 回答 1

1

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

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")
于 2013-10-29T21:09:52.090 回答