将断点指定为单个数时,直方图箱的数量是否错误?

时间:2018-03-23 11:18:37

标签: r

为什么以下两个直方图有不同数量的箱子?

set.seed(42)
x <- rnorm(10000)

length(hist(x, breaks = 20, plot = FALSE)$counts) # 18
length(hist(x, breaks = seq(min(x), max(x), length.out = 20+1), plot = FALSE)$counts) # 20

直方图函数的手册说明了breaks

  
      
  • 给出直方图的单元格数的单个数字
  •   

那么,为什么第一个选项不会导致20个单元格的直方图?

1 个答案:

答案 0 :(得分:0)

这些垃圾箱并不完全符合您输入的数字,因为R运行其算法来分解数据,但它通常会为您提供所需的数据。如果你想要更精确地控制bin之间的断点,你可以更精确地使用breaks()选项并给它一个断点向量,如下所示:

hist(mtcars, breaks=c(17,20,23,26,29,32), main=”Breaks is vector of breakpoints”)

所以你需要选择中断的数量,17到20,然后是20到34等,所以它的1个bin为2个值。