我正在使用 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 可能无法处理所有相同的值。但我不明白为什么会发生此错误以及如何解决?