2016-04-24 29 views
0

我写下面的代码来表现出平坦的统计分布:基础图形中的直方图故障?

m <- trunc(runif(100000,1,21)) 
table(m) 
hist(m) 

的从表(M)的值是按预期:

5010 5053 4951 5030 5034 5131 4895 5032 4974 5073 4947 5030 4939 5011 5069 
4910 4992 4990 4946 4983 

然而HIST(M)示出两倍的计数第一仓比预期:

histogram with first cell too large!

我尝试设置场所:HIST(米,断裂= 21)与20,21或其他值,但问题仍然存在。

我认为这可能与“漂亮”操作符有关,但花了一个小时处理这个问题,我仍然无法看到如何获得明智的直方图。

+0

对于详细的解释:// planspace .org等/ 20141225-how_does_r_calculate_histogram_break_points /)。计算中断的过程从'ceiling(log2(length(x))+ 1)'开始,稍后传递给'pretty',如链接文章中所述。 – Konrad

回答

1

您可以通过

hist(m, breaks=0:21) 

得到正确的直方图,如果你看一下?hist并转到breaks部分,你会来:

--snip--

在最后的 三个案例中,这个数字只是一个建议;断点将被设置为漂亮值 。

也就是说,如果你想确切地指定符,你需要给上时如何计算的,你可以看看[此帖](HTTP矢量

+0

谢谢你,并感谢你Konrad。我正在撕裂我的头发 - 这很难,因为我几乎没有! ...乔治... –