[英]Better method to scale the y-axis on a histogram by the x values in R?
就像问这个问题的人一样( 我如何通过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)
给出明显错误形状的直方图。 似乎重复非空垃圾箱的次数足以填满必要的插槽。
有没有更好的方法来做同样的事情?
我认为您只想替换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")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.