具有 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))
我在尝试用 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))