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

时间:2011-12-27 18:53:52

标签: r histogram

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

stated online的文档是:

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

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

3 个答案:

答案 0 :(得分:17)

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

11  12  13  14  15  16  17  18  19

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

1st bin: [10, 12)
2nd bin: [12, 14)
3rd bin: [14, 16)
4th bin: [16, 18)
5th bin: [18, 20)

这意味着第一个垃圾箱会#34;持有"值介于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

这意味着值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

请注意,假设您未使用the extended real number line

,则无法使用括号表示无穷大
(-∞, ∞)   -->   -∞ < x < ∞ 
(-∞, 20]  -->   -∞ < x ≤ 20 
[20, ∞)   -->   20 ≤ x < ∞
(1000, ∞) --> 1000 < x < ∞
(-∞, ∞]   -->   Invalid
(41, ∞]   -->   Invalid

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

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

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

现在,幸运的是,在R中你不必自己指定垃圾箱,但R很好地问你是否要让垃圾箱左关闭,右开([a, b))或左开,右关((a, b])。这就是你得到的差异&#34;对&#34;参数在hist()函数中执行。

答案 1 :(得分:2)

默认值为right = TRUE,它给出了形式(a,b)的间隔。让我们举一个例子来看看这意味着什么。假设我们的数据的值为5。让我们也说直方图是使用断点3,4,5,6。问题是我们的值5应该落入哪个区间?如果我们使用right = TRUE,那么使用的实际区间是(3,4),(4,5),(区间符号(4,5)表示它包含4到5之间的所有值 - 它不包括实际值4但它确实包含值5.所以我们的数据点5落入这段时间。

如果我们使用right = FALSE,则间隔将具有[a,b]形式,因此使用相同的断点3,4,5,6,我们将具有间隔[3,4],[4,5] ,[5,6]。这次我们的数据点进入区间[5,6],因为这个区间包含5,而[4,5]不包含5。

基本上,'right'参数告诉R当数据点正好落在断点所在的位置时该怎么做。

答案 2 :(得分:1)

R对半直方图箱使用半开间隔。此选项控制每个半开区间中包含哪个左端点或右端点。