具有 approxfun 的密度函数形式

Functional form of density with approxfun

我在尝试用 approxfun() 逼近 R 中密度的函数形式时遇到了问题。最小的例子如下。

Example = seq(0.5, 1.5, 0.005)
dens = density(Example)
estim = approxfun(dens) 
plot(estim)
plot(dens) 

问题是plot(estim)给出了下面的情节

但是plot(dens)给出了完整的情节,

x 轴覆盖所有值,而不像 approxfun 图那样停在 1。因此,approxfun() 没有适当地捕获密度。

我在这里做错了什么?我确实尝试了 approxfun 的几种配置,以便以某种方式包含整个 x 轴,但没有成功。

您的 estim 变量此时只是一个函数。它不记得用于创建它的数据范围。绘制函数时,您需要告诉 R 从何处开始和停止(默认情况下,R 将绘制从 x=0 到 x=1 的函数)。例如

plot(estim, xlim=range(Example))

请注意,range(Example) 仅涵盖观察到的范围。如果要使用与密度图相同的范围,请使用

plot(estim, xlim=range(dens$x))