我正在整理一个直方图,以查看我的数据是如何在阈值histogram附近聚集的。我惊讶地发现尖峰出现在阈值的右侧(红色垂直线)而不是左侧。使用geom_build函数,我看到观察结果被四舍五入。在该图中,例如,尖峰应该是1305,但是当宽度为1时,它出现在1305.5处,其中仓的值在1304.5和1305.5之间。即它向上四舍五入。
(我知道情况就是这样,因为当我减小bin大小时,尖峰接近1305,这就是我所知道的。)
我找不到ggplot中的任何设置来改变它,我不太确定它是否可能。另一种方法是改变箱子以匹配整数,即从1-2,3-3,3-4 ......而不是.5-1.5,1.5-2.5等。
我的代码如下。我很感激任何建议。
plotcars<-ggplot(data=cars_total) +
geom_histogram(binwidth = 1, aes(x=V3,weight=V1)) +
geom_vline(data=cuts, aes(xintercept=vals, linetype=Thresholds,
colour = Thresholds), show.legend = TRUE) +
coord_cartesian(xlim = c(1300,1350),ylim=c(0,800000)) +
scale_y_continuous(labels = comma)
plotcars
答案 0 :(得分:0)
这里的问题是我使用geom_histogram
,当我应该使用geom_stat
时。
引自?geom_bar
:
stat_count
计算每个x位置的病例数。如果要在范围中对数据进行分箱,则应使用stat_bin
代替。
替换代码是:
+ stat_count(geom="bar", aes(weight=Registrations,width = 1, center=0))