2

我正在使用 survreg 函数和 weibull 分布来预测我的数据最后一行的生存时间,但我收到了错误消息。

我的数据是:

Train <- data.frame(Sum=c(2,2,2,2,2),
                    Days=c(21,21,21,21,21),
                    Status=c(1,1,1,1,1))
Test <- data.frame(Sum=2,
                   Days=21,
                   Status=1)

我的代码是:

FitWeibull <- survreg(Surv(Days,Status)~Sum,data=Train,dist='weibull')
PredictWeibull <- predict(FitWeibull,newdata=Test)

错误信息是:

Error in coxph.wtest(t(x) %*% (wt * x), c((wt * eta + weights * deriv$dg) %*%  : 
  NA/NaN/Inf in foreign function call (arg 3)

这些数据只是我全部数据的一小部分。除此之外,所有其他数据都运行良好。看起来这是因为所有的 Days 和 Sum 都是一样的。我将火车更改为:

Train <- data.frame(Sum=c(2,2,2,2,2),
                    Days=c(21,21,21,21,20),
                    Status=c(1,1,1,1,1))

然后就好了。因此,weibull 可能无法处理所有相同的值。但我不明白为什么会发生此错误以及如何解决?

4

0 回答 0