如何处理 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 个或更多级别的因子