我正在尝试将自然肘样条拟合到概率数据(随机变量小于某些值的概率)以获得累积分布函数,使用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中似乎不起作用。
除非采用分析解决方案,最简洁的数字解决方法是什么?
答案 0 :(得分:1)
如果您更改了Berwin Turlach在R-help上提供的代码中g
的环境分配行:
environment(g) <- environment(f)
...你在R 2.15.1中取得了成功。