R ggplot2直方图bin分配

时间:2017-11-16 20:47:10

标签: r ggplot2

我的问题是,当我使用某个bin宽度大于数据分辨率的ggplot2构造直方图时,bin有时会包含来自底层数据的不均匀增量数。这导致直方图中的大峰值,这五个数据是对数据达到峰值的错误印象。是否有内置的方法来防止这种情况?也许在箱子之间分配增量?

require(ggplot2)
require(ggplot2movies)
m <- ggplot(movies, aes(x = rating))
#Original resolution
plot(m + geom_histogram(binwidth = 0.1) + scale_y_sqrt())
#Downsampled
plot(m + geom_histogram(binwidth = 0.25) + scale_y_sqrt())

Original Resolution

Downsampled

2 个答案:

答案 0 :(得分:1)

我不知道,如果有内置方式,geom_histogram()默认为30个bin,您可以覆盖它们。 如果计算不同x值的数量并将其用于箱数(或其中的一小部分),则可能有一种可能的解决方法:

plot(m + geom_histogram(bins = nlevels(as.factor(movies$rating))))

enter image description here

答案 1 :(得分:0)

现在的解决方法是简单地修改binwidth作为数据分辨率的函数,而不是bin的数量。