splinefun的分析导数()

时间:2012-10-11 18:57:10

标签: r spline

我正在尝试将自然肘样条拟合到概率数据(随机变量小于某些值的概率)以获得累积分布函数,使用splinefun()可以很好地工作:

cutoffs <- c(-90,-60,-30,0,30,60,90,120)
probs <- c(0,0,0.05,0.25,0.5,0.75,0.9,1)
CDF.spline <- splinefun(cutoffs,probs, method="natural")
plot(cutoffs,probs)
curve(CDF.spline(x), add=TRUE, col=2, n=1001)
然而,我会想使用密度函数,即样条的导数,来执行各种计算(例如,获得随机变量的期望值)。

有没有办法将此衍生物作为函数获得,而不是仅通过splinefun(x, deriv=1在离散的点数进行评估?

This非常接近我正在寻找的东西,但是这个例子在R版本2.15.0中似乎不起作用。

除非采用分析解决方案,最简洁的数字解决方法是什么?

1 个答案:

答案 0 :(得分:1)

如果您更改了Berwin Turlach在R-help上提供的代码中g的环境分配行:

environment(g) <- environment(f)

...你在R 2.15.1中取得了成功。