如何从直方图中绘制密度?

时间:2011-09-30 19:16:33

标签: r histogram

所以我想在R中做这样的事情:

 x <- rnorm(1000, 100, 50)
 h <- hist(x, breaks="fd")
 z <- plot(h$breaks, h$density)

问题是直方图中的$ breaks字段比$ density字段多一个值?这个问题有一个简单的方法吗?

2 个答案:

答案 0 :(得分:1)

原来我需要做的就是将 freq 字段设置为FALSE

所以我只做了 hist(rnorm(1000, 100, 50), freq="FALSE")并且做了相对频率的直方图。

答案 1 :(得分:0)

我不确定问题究竟是什么,但你可以放下h$breaks的第一个或最后一个元素来绘制任一端点的点,或者你可以删除最后一个元素然后加一半用于在中点绘制它们的bin宽度:

plot(h$breaks[-length(h$breaks)] + 5, h$density)

但这只是解决了你的具体问题。如果你扩展了你想要做的事情,可能有一种更好的方式来使用hist

相关问题