我希望有人能够指引我正确的方式。我正在尝试生产约100个直方图,因此我的问题的解决方案必须易于重现。
我有一个值向量,范围从0.0000(零值)到1.0000的上限。有大量的0.0000值,其余的值更加分散。
我现在要创建一个具有不同bin大小的直方图。我希望所有零值都有一个bin,然后bin大小应为0.005
以下是一些可重现的代码,用于说明我的实际数据:
per_value <- rbeta(200, 1, 1, ncp = 0.3)
percent_change <- c(0,0,0,0,0, rbeta(195, 1, 1, ncp = 0.1))
valua_chg <- data.frame(cbind(per_value, percent_change))
ggplot(valua_chg, aes(x=percent_change)) +
stat_bin(breaks=c(0, seq(0.001,1.0, by=0.005)))
以下是代码创建的图片:
问题是零箱的箱尺寸非常小,与其他箱的尺寸不同。有谁知道如何解决这个问题。
谢谢!
答案 0 :(得分:2)
最快,最简单的方法是将最小间隔设置为-0.004,以便包含零的bin具有相同的宽度0.005。 bin不会在零上居中,但如果您的数据绑定在0和1之间,则应该没问题:
ggplot(valua_chg, aes(x=percent_change)) +
stat_bin(breaks=c(-0.004, seq(0.001,1.0, by=0.005)))