2

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

hist(estimator, probability=T, br=5)

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

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

4

1 回答 1

8

当您指定时probability=T(或者更好的是,如果更改为除 之外的其他内容probability=TRUE,您不会弄乱)是一个缩放比例,使得直方图条的整个区域加为 1,因为您的条的宽度要小得多大于 1 时,高度必须大于 1,以便所有面积加起来为 1。这使得叠加密度估计曲线或理论密度曲线或添加其他参考变得容易。TTRUE

一般来说,你应该忽略 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)

如果你愿意,这可以很容易地包装成一个函数。

于 2012-11-28T22:53:25.367 回答