如何处理 r 警告:stat_bin() 使用 bins = 30


您在 R 中可能遇到的常见警告是:

 `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.

当您使用geom_histogram()在 ggplot2 中创建直方图并且无法指定要在直方图中使用的组数时,会出现此警告。

为了避免出现此警告,您可以使用bins参数来指定要使用的 bin 数量:

 ggplot(df, aes(x=my_variable)) +
  geom_histogram(bins= 10 )

以下示例展示了如何在实践中避免此警告。

示例:如何使用 bins = 30 避免 stat_bins() 警告

假设我们使用 ggplot2 的geom_histogram()函数为数据框中的变量创建直方图:

 library (ggplot2)

#make this example reproducible
set. seed ( 0 )

#create data frame
df <- data. frame (my_values = rnorm( 1000 ))

#view head of data frame
head(df)

   my_values
1 1.2629543
2 -0.3262334
3 1.3297993
4 1.2724293
5 0.4146414
6 -1.5399500

#create histogram
ggplot(df, aes(x=my_values)) +
  geom_histogram(col=' black ', fill=' steelblue ')

`stat_bin()` using `bins = 30`. Pick better value with `binwidth`.

请注意,我们使用“bins = 30”收到“stat_bin()”警告。使用“binwidth”选择更好的值。

应该注意的是,这只是一个警告,直方图仍然是由 ggplot2 创建的。

但是,我们可以通过使用geom_histogram()中的bins参数来指定直方图中要使用的 bin 数量来完全避免此警告。

例如,我们可以使用以下代码来使用10 个bin 作为直方图:

 #create histogram with 10 bins
ggplot(df, aes(x=my_values)) +
  geom_histogram(col=' black ', fill=' steelblue ', bins= 10 ) 

请注意,这次我们没有收到任何警告消息,并且直方图恰好包含 10 个 bin。

请注意,您使用的垃圾箱越少,每个垃圾箱就越宽。

例如,我们可以使用5 个垃圾箱:

 #create histogram with 5 bins
ggplot(df, aes(x=my_values)) +
  geom_histogram(col=' black ', fill=' steelblue ', bins= 5 ) 

请注意,此直方图中的组较少但较大。

您可以在直方图中随意使用任意数量的垃圾箱。

其他资源

以下教程解释了如何解决 R 中的其他常见错误:

如何在 R 中修复:名称与以前的名称不匹配
如何在 R 中修复:强制引入的 NA
如何在 R 中修复:提示越界
如何在 R 中修复:对比只能应用于具有 2 个或更多级别的因子

添加评论

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