A:如何更改直方图中的 bin 数量


当您在 R 中创建直方图时,将使用称为斯特吉斯规则的公式来确定要使用的最佳组数。

但是,您可以使用以下语法覆盖此公式并指定要在直方图中使用的确切组数:

 hist(data, breaks = seq(min(data), max(data), length. out = 7 ))

请注意,直方图中使用的组数将比length.out参数中指定的数量少 1。

以下示例展示了如何在实践中使用此语法。

示例 1:创建基本直方图

以下代码演示了如何在 R 中创建基本直方图而不指定 bin 数量:

 #define vector of data
data <- c(1, 2, 2, 3, 4, 4, 4, 5, 5, 6, 7, 10, 11, 13, 16, 16, 16)

#create histogram of data
hist(data, col = ' lightblue ') 

根据 Sturges 规则,R 决定在直方图中总共使用8 个组。

示例 2:指定直方图中要使用的 bin 数量

以下代码展示了如何为同一数据向量创建直方图并仅使用6 个组:

 #define vector of data
data <- c(1, 2, 2, 3, 4, 4, 4, 5, 5, 6, 7, 10, 11, 13, 16, 16, 16)

#create histogram with 6 bins
hist(data, col = ' lightblue ', breaks = seq(min(data), max(data), length. out = 7 )) 

选择特定垃圾箱数量的注意事项

直方图中使用的组数对我们如何解释数据集有巨大影响。

如果我们使用的组太少,数据中真正的底层模式可能会被隐藏:

 #define vector of data
data <- c(1, 2, 2, 3, 4, 4, 4, 5, 5, 6, 7, 10, 11, 13, 16, 16, 16)

#create histogram with 3 bins
hist(data, col = ' lightblue ', breaks = seq(min(data), max(data), length. out = 4 )) 

相反,如果我们使用太多组,我们可以简单地可视化数据集中的噪声:

 #define vector of data
data <- c(1, 2, 2, 3, 4, 4, 4, 5, 5, 6, 7, 10, 11, 13, 16, 16, 16)

#create histogram with 15 bins
hist(data, col = ' lightblue ', breaks = seq(min(data), max(data), length. out = 16 )) 

一般来说,R 中使用的默认 Sturges 规则倾向于生成具有最佳组数的直方图。

请随意使用此处提供的代码来创建具有确切数量的 bin 的直方图,但请注意不要选择太多或太少的 bin。

其他资源

以下教程解释了如何使用 R 中的直方图执行其他常见功能:

如何在 R 中绘制多个直方图
如何在 R 中创建两个变量的直方图
如何在 R 中创建相对频率直方图

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注