test <- rep(5,20)
hist(test,freq=FALSE,breaks=5)
向量包含值的20倍。当我用freq=FALS
E和breaks=5
绘制此图时,我期望在x = 5时看到1 bar,高度= 1.0,因为值5组成100%的数据。
为什么我会看到1条范围从x = 0到x = 5并且高度= 0.2 ??
答案 0 :(得分:3)
hist
绘制了freq=FALSE
或prob=TRUE
时概率密度的估算值,因此总计区域直方图总和为1.由于绘制的单个条形的水平范围是(0,5),因此高度必须为0.2(5 * 0.2 = 1)
如果确实想要你想要的直方图(即高度对应于计数的一部分,区域不一定总和为1),你可以这样做:
h <- hist(test,plot=FALSE)
h$counts <- h$counts/length(test)
plot(h)
另一种可能性是强制条宽等于1.0,例如
hist(test,freq=FALSE,breaks=0:10)
或许你想要
plot(table(test)/length(test))
或
plot(table(test)/length(test),lwd=10,lend="butt")