ggplot中的geom_histogram在放入垃圾箱时对数据进行舍入,我该如何更改?

时间:2016-05-11 11:43:33

标签: r ggplot2 histogram

我正在整理一个直方图,以查看我的数据是如何在阈值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

1 个答案:

答案 0 :(得分:0)

这里的问题是我使用geom_histogram,当我应该使用geom_stat时。

引自?geom_bar

  

stat_count计算每个x位置的病例数。如果要在范围中对数据进行分箱,则应使用stat_bin代替。

替换代码是:

+ stat_count(geom="bar", aes(weight=Registrations,width = 1, center=0))