功能形式的密度与近似

时间:2018-05-24 20:15:01

标签: r approximation density-plot

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

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

问题是plot(estim)给出了以下情节enter image description here

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

enter image description here

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

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

1 个答案:

答案 0 :(得分:1)

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

plot(estim, xlim=range(Example))

enter image description here

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

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

enter image description here