很抱歉,如果这个问题很简单,但是我没有找到解决办法:我一直在使用density()
功能,总是没有麻烦,但现在我使用了一些数据集 - 让我们称之为标签 - 用(很多) )相对较小的值,突然density(tab)
给出类似绝对频率的东西 - 任何想法我做错了什么?
(注意:hist(tab, freq = FALSE)
也为标签提供了一些奇怪的东西。)
备注:summary(tab)
给出:
Min. / 1st Qu. / Median / Mean / 3rd Qu. / Max.
-0.0042810 /0.0002679 / 0.0011750 / 0.0071690 / 0.0049510 /0.5839000
我也非常感谢任何一般提示,在这种情况下density()
没有给出y值的相对频率。
答案 0 :(得分:1)
虽然我无法完全重现您的示例,但我认为您的数据集中有一个巨大的异常值。即,您的第3个四分位数为0.005,但最大值为0.584。在实轴上,从第3个四分位数到最小值的距离为0.01。从第3个四分位数到最大值的距离超过0.583。那是58次了!根据我的理解density
尝试选择一个适用于所有值的带宽。在这种情况下,带宽可能非常小,因为大多数值聚集在一起接近0.在这种情况下,您可能会得到一个非常简并的密度图,有两条垂直线,一条在左边,另一条在对。我能够使用以下方法生成一个这样的情节:
plot(density(c(rnorm(100, 0, 0.001), 100)))
我所做的只是从正态分布中取样,SD为0.001,并在此分布中添加一个异常值100。然后密度看起来像这样: 密度值肯定看起来可能会与频率混淆,但事实并非如此。当然,如果我删除异常值,那么估计的密度函数就会很好地形成钟形:
因此,您可能需要从数据中删除异常值。