直方图不显示密度

Mar*_*zer 2 plot r histogram

我尝试了不同的函数和几个不同的参数,但直方图

hist(estimator, probability=T, br=5)
Run Code Online (Sandbox Code Playgroud)

无论我选择什么样的绘图函数或参数,都不会在y轴上显示密度.矢量"估计器"包含大约0.4到0.6之间的100个值.

确切地说:通过创建一个hist对象,然后计算和更改密度并通过plot()工作再次绘制它的方式,但我不希望首先绘制hist对象:/ 情节

Gre*_*now 7

当你指定probability=T(或者更好的probability=TRUE是你不会被搞砸,如果T被改变为其他东西TRUE)是一个缩放,使得直方图条的整个区域加1,因为你的条的宽度相当少超过1时,高度需要大于1,以便所有区域都加1.这样可以很容易地叠加密度估计曲线或理论密度曲线或添加其他参考.

一般来说,你应该忽略y轴上的刻度标签(如果它们甚至没有被绘制就会更好),它们只是分散了绘图的重要部分.

许多人认为他们希望y轴刻度标签代表每个分组中观察的比例(或百分比)(并且可以使用您自己的自定义轴),但我认为这仍然是一种分心.考虑如果你改变直方图中条形/间隔的数量会发生什么,直方图的整体结构保持不变(假设你没有做出剧烈的改变),但是y轴上的刻度标签有时会发生变化相当多,所以他们更好地被忽略(或者首先不生产).

如果你真的认为需要百分比(或比例),那么代码就像下面这样简单:

x <- rgamma(327, 5, 3)

tmp <- hist(x, yaxt='n',ylab='Percent')
tmp2 <- pretty( tmp$counts/sum(tmp$counts)*100 )
axis(2, at=tmp2*sum(tmp$counts)/100, labels=tmp2)
Run Code Online (Sandbox Code Playgroud)

如果你愿意,可以很容易地将它包装成一个函数.