我正在使用幸存函数和威布尔分布来预测我数据的最后一行的生存时间,但是我收到了错误消息。
我的数据是:
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可能无法处理所有相同的值。但我不明白为什么会发生这种错误以及如何解决它?