使用sm.density.compare时查找最可能的分布函数

时间:2014-08-04 21:18:55

标签: r kernel-density density-plot

我正在使用“sm”包来研究我的数据集中的分布。对于那些好奇的人,我将招聘实践视为年龄的函数,并试图确定群体的年龄分布变化是否因性别或教育等属性而发生变化。

SM包对我来说是一种全新的体验,我试图找到一个函数来描述生成数据集的最可能的密度函数,前提是零假设是真的(两个密度图都是由相同的随机样本生成的分配)。我没有发布图片所需的声誉,但我在Imgur上发现了这个也是用sm.density.compare生成的。

enter image description here

我们在图像中看到的是two kernel density plots和一个青色区域,据我所知,它是包含真实密度图的95%可能性的参考带,前提是这两条线是由来自的数据生成的相同的分布。

我想知道的是计算x轴上每个值的参考范围内最可能点的矢量的方法。根据规则,我当然愿意接受我疯狂或应该使用另一个包裹的建议。

1 个答案:

答案 0 :(得分:0)

显然Rstudio或R中有一些错误阻止我以最明显的方式解决问题。由于R sm.density.compare中的其他所有内容都会生成一个对象,但对我来说,当我尝试保存它时失败了。

当我第一次绘制对象时(执行sm.density.compare时的默认行为),问题自动消失,然后做了同样的事情,但也创建了一个新对象。

所以:

sm.density.compare(a, b, model="equal", xlab=Year of Birth")
DensityObject = sm.density.compare(a, b, model="equal", xlab=Year of Birth")

然后实际的行可以通过以下方式计算:

DensityObject$average = rowMeans(cbind(DensityObject$upper, DensityObject$lower), na.rm=TRUE)