在R中创建直方图时,正确的参数有什么作用?

Rya*_*lor 6 r histogram

我试图找出R中hist函数中的正确参数.遗憾的是,对于没有对我这样的统计数据有深刻理解的人来说,文档是不清楚的.

在线说明的文件是:

正确的; 如果为TRUE,则直方图单元格为右关闭(左开)间隔.

成为右关(或左开)间隔是什么意思?

In *_*ico 18

在创建非分类数据的直方图(诸如pH,温度等)时,您需要指定称为"分类"的东西.每个bin都有一个称为为其指定的间隔.例如,如果我有数据:

11  12  13  14  15  16  17  18  19
Run Code Online (Sandbox Code Playgroud)

我可以创建5个具有右开,左闭合间隔的区间,如下所示:

1st bin: [10, 12)
2nd bin: [12, 14)
3rd bin: [14, 16)
4th bin: [16, 18)
5th bin: [18, 20)
Run Code Online (Sandbox Code Playgroud)

这意味着第一个bin将"保持"10到12之间的值,包括10但不包括12.上面使用的区间符号是这样的简写:

1st bin: 10 ? x < 12
2nd bin: 12 ? x < 14
3rd bin: 14 ? x < 16
4th bin: 16 ? x < 18
5th bin: 18 ? x < 20
Run Code Online (Sandbox Code Playgroud)

这意味着值11将进入第一个bin,但值12将进入第二个bin,等等.R将为您执行此binning过程,然后根据每个bin中有多少项绘制直方图.对于上面的数据,除了在第一个bin之外,你会得到一个相当不感兴趣(或者很有趣,取决于你的期望)的直方图.

以下示例说明了使用区间符号时括号和括号的不同组合(假设x是实数线的元素):

(1, 4) --> 1 < x < 4    left-open, right-open
[3, 7) --> 3 ? x < 7    left-closed, right-open
(2, 9] --> 2 < x ? 9    left-open, right-closed
[5, 6] --> 5 ? x ? 6    left-closed, right-closed
Run Code Online (Sandbox Code Playgroud)

请注意,假设您没有使用扩展实数行,则无法使用括号表示无穷大

(-?, ?)   -->   -? < x < ? 
(-?, 20]  -->   -? < x ? 20 
[20, ?)   -->   20 ? x < ?
(1000, ?) --> 1000 < x < ?
(-?, ?]   -->   Invalid
(41, ?]   -->   Invalid
Run Code Online (Sandbox Code Playgroud)

如果我想要左开,右闭的间隔,那么垃圾箱看起来像这样:

1st bin: (10, 12] i.e. 10 < x ? 12
2nd bin: (12, 14]      12 < x ? 14
3rd bin: (14, 16]      14 < x ? 16
4th bin: (16, 18]      16 < x ? 18
5th bin: (18, 20]      18 < x ? 20
Run Code Online (Sandbox Code Playgroud)

看到不同?在这种情况下,现在值11和12将进入第一个bin.这可能会改变直方图的外观,具体取决于您对数据进行分区的方式.现在,这次您的直方图仍然几乎是平的,但现在第5个bin与其余的不同(其余的只有1个数据点而不是2个).

现在,幸运的是在R中你不必自己指定垃圾箱,但R很好地问你是否希望垃圾箱是左关闭,右开([a, b))或左开,右关((a, b]) .这就是你在hist()函数中使用"正确"参数所得到的差异.