r - hist函数聚合"零"和" 1"将值放入一个bin中。

时间:2014-06-20 17:19:47

标签: r histogram

我对hist()函数感到疯狂。我有一个数据集如下:

table(data)

0  1  2  3  4  5  7  8 
85  7  3  4  6  1  2  1 

所以我希望hist(data, labels=TRUE)返回一个包含9个二进制位的直方图,一个用于零,一个用于等等,并且每个bin都有一个值。但它汇总了0和1,在谷歌搜索一天后,我仍然无法弄清楚如何解决它。我也尝试声明像hist(data, breaks=c(0,8))这样的箱子数量,但没有。 作为替代方案,我尝试了histogram lattice包的hist(),它运行正常...但我无法弄清楚如何显示每个bin的值... 你可以用任何一种方式帮助我(histogram()的列数是否合适,或者{{1}}显示的是哪个列?)? 非常感谢。

1 个答案:

答案 0 :(得分:5)

hist(...)默认使用右关闭时间间隔。您可以使用right=...参数更改此内容。

x <- c(0, 1,  2,  3,  4,  5,  7,  8)
y <- c(85,  7,  3,  4,  6,  1,  2,  1)
z <- rep(x,times=y)

par(mfrow=c(1,2))
hist(z,right=T, main="Right closed")
hist(z,right=F, main="Left Closed")

这是ggplot中的等价物,IMO更清晰一些。

library(ggplot2)
ggplot(data.frame(z), aes(x=factor(z))) + 
  geom_histogram(fill="lightgreen", color="grey50")