BTYD pnbd PAlive函数为Nan提供了答案。怎么解决?

时间:2018-08-28 13:59:28

标签: r

> x
[1] 204> 
> t.x
[1] 58.571
> T.cal
[1] 58.571
params.pnbd.ori
[1]  0.7267025 44.7482499  0.6511856  6.0002258    
> params.pnbd
[1] 0.1053945 5.9858090 2.6068076 1.8394092
> pnbd.PAlive(params.pnbd.ori, x, t.x, T.cal )
[1] NaN

我通过了功能。返回的术语是:

(1 + s/(r + s + x) * (alpha + T.cal)^(r + x) * (beta + T.cal)^s * A0)^(-1)

(alpha + T.cal)^(r + x)部分存在问题。另外,A00。它给出Inf,这会使整个术语被评估为Nan

我已经做了一个快速而肮脏的修复,其中如果术语为Nan,该函数将输出1。这是正确的方法吗?有更好的解决方法吗?

0 个答案:

没有答案