2

survreg 関数とワイブル分布を使用して、データの最後の行の生存時間を予測していますが、エラー メッセージが表示されました。

私のデータは次のとおりです。

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))

それなら大丈夫です。そのため、ワイブルはすべて同じ値を処理できない場合があります。しかし、このエラーが発生する理由と修正方法がわかりませんか?

4

0 に答える 0