> 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)
проблематична. Также A0
- это 0
. Это дает Inf
, что заставляет весь термин оцениваться как Nan
Я сделал быстрое и грязное исправление, где, если термин равен Nan
, функция выводит 1
. Это правильный подход? Есть ли лучший способ решить?