为什么R直方图中的第一个条形图如此之大?

Rob*_*bin 3 r distribution histogram

我正在玩R.我尝试使用以下R脚本可视化1000个骰子投掷的分布:

cases <- 1000

min <- 1
max <- 6

x <- as.integer(runif(cases,min,max+1))
mx <- mean(x)
sd <- sd(x)

hist(
  x,
  xlim=c(min - abs(mx/2),max + abs(mx/2)),
  main=paste(cases,"Samples"),
  freq = FALSE,
  breaks=seq(min,max,1)
)

curve(dnorm(x, mx, sd), add = TRUE, col="blue", lwd = 2)
abline(v = mx, col = "red", lwd = 2)

legend("bottomleft", 
       legend=c(paste('Mean (', mx, ')')), 
       col=c('red'), lwd=2, lty=c(1))
Run Code Online (Sandbox Code Playgroud)

该脚本生成以下直方图: 直方图

有人可以向我解释为什么第一个酒吧这么大吗?我检查了数据,看起来很好.我怎样才能解决这个问题?

先感谢您!

use*_*330 6

直方图不适合离散数据,它们是为连续数据设计的.您的数据看起来像这样:

> table(x)
x
  1   2   3   4   5   6 
174 138 162 178 196 152 
Run Code Online (Sandbox Code Playgroud)

即每个值的数量大致相等.但是当你把它放在直方图中时,你选择了1:6的断点.第一个栏的左边界限有174个条目,右边界限有138个,因此显示312.

你可以通过指定半整数的断点来获得更好看的直方图,即breaks = 0:6 + 0.5,但对于像这样的数据使用直方图仍然没有意义.只需运行plot(table(x))barplot(table(x))更准确地描述数据.