如何在直方图上绘制密度估计?

3

可能是重复问题:
如何在R中将密度曲线拟合到直方图上?

x 是一个不包含NAs的数值向量。

我运行了以下代码:

> hist(x,density(x), prob=TRUE)

Error Message I get:
Error in rank(x, ties.method = "min", na.last = "keep") : 
  unimplemented type 'list' in 'greater'

建议在调用hist时设置prob = TRUE。如果您能解释这个问题,那就太好了。谢谢。

2
prob=TRUE 将 y 轴设置为概率而不是频率(计数),因此密度估计将在相同的垂直比例尺上。正如帮助文件中解释的那样(在其对应项 freq 的条目下),prob=TRUE 缩放 "使得直方图的总面积为一"。补充一下 Hong Ooi 的好答案:请参阅 ?hist 下的最后一个示例,以添加指定的密度而不是核估计。 - Glen_b
1个回答

7
您需要分别调用histdensity函数。就像这样:
hist(x, prob=TRUE)
lines(density(x))

谢谢您提供的解决方案。如果您能进一步解释一下,使用hist()函数的密度参数与我的失败尝试相似,和您建议的lines()函数有什么区别? - Selvam
@Selvam ?hist 解释了 density 参数的作用 - 用于指定条形图阴影线的密度。 - Glen_b

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接