所以我想在R中做这样的事情:
x <- rnorm(1000, 100, 50)
h <- hist(x, breaks="fd")
z <- plot(h$breaks, h$density)
问题是直方图中的$ breaks字段比$ density字段多一个值?这个问题有一个简单的方法吗?
答案 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
。