在R中指定hist()中的bin数?

时间:2014-03-28 13:35:11

标签: r

我尝试将R中hist()中的二进制数指定为10,如下所示

> hist(x, breaks=10)

但是箱子的数量并不完全是10.我尝试了其他数量的箱子,同样的事情发生了。

?histbreaks可以指定

  

一个数字,给出直方图的单元格数。

所以我想知道我现在能做些什么?谢谢!

2 个答案:

答案 0 :(得分:1)

您始终可以创建自定义断点

x   = rnorm(500)
brks = seq(-3,3,0.1)
hist(x, breaks = brks)

答案 1 :(得分:1)

蒂姆在评论中写道:

  

问题是我指定了brks = seq(min(x),max(x),length.out = 500),但hist(x,breaks = brks)抱怨x的某些条目不会是包含在直方图中

我遇到了同样的问题。我怀疑这是因为范围边界上的值不计算在内。我有2个解决方案,但不满足我100%。

解决方案1。 在制作序列时,将最小值设置为较低值,将最大值设置为稍高一点。

brks = seq(min(x)*.99999,max(x)*1.00001,length.out=500)

解决方案2.使用cut()和barplot()的组合代替hist()。该图看起来与hist几乎相同,但不会产生像hist()这样的数据框。

barplot(summary(cut(data, 10)), space=0)