2017-06-27 3 views
1

私は、survAUCパッケージを使用して生存モデルのAUCを推定しようとしています。コードを実行すると、エラーが表示されます。生存モデルの相互検証

Error in AUC.hc(Surv.rsp, Surv.rsp.new, lpnew, times) : 
NA/NaN/Inf in foreign function call (arg 6) 

このエラーはどのような理由があり、どのように削除することができますか?私のコードは次のとおりです。

head(duration) 
    Event_ID  Time Status Season Time_of_day 
1  1  15  1  1   0 
2  2  30  1  0   1 
3  3  15  1  1   0 
4  4  15  1  0   0 
5  5  45  1  0   1 
6  6  105  1  0   1 
TR<-duration[1:2176,] 
TE<-duration[2177:6528,] 
clearance5<-survreg(Surv(duration$Time)~Season+Time_of_day,data = duration,dist = 'weibull',na.action=na.omit) 
lpnew<-predict(clearance5,TE) 
Surv.rsp<-Surv(TR$Time) 
Surv.rsp.new<-Surv(TE$Time) 
times<-seq(60,90,105) 
auc_hc<-AUC.hc(Surv.rsp,Surv.rsp.new,lpnew,times) 
+1

我々は –

+1

duration' 'オブジェクトのコピーを見てする方法がありませんが、私はわからないんだけどエラーを引き起こしますが、 'times <-seq(60,90,105)'は 'times'の単一の値(60)になります。これはおそらく意図したものではありません。 'seq(60、90、105)'は、60から90までの値を105単位で区切って指定することを意味します。あなたは60から90までの105の値が欲しいということを意味しましたか?もしそうなら、 'length.out = 105'を使います。 – eipi10

+0

@ 42オブジェクトの持続時間がどのようになっているかを追加しました – henriquejosee

答えて

0

私は次のコードは、作品べきだと思う:これがあれば

library(survival) 
library(survAUC) 

duration <- na.omit(duration) 
TR <- duration[1:2176,] 
TE <- duration[2177:6528,] 

clearance5 <- survreg(Surv(Time, Status) ~ Season+Time_of_day, 
       data = TR, dist='weibull', na.action=na.omit) 
lpnew <- predict(clearance5, newdata=TE) 
Surv.rsp <- Surv(TR$Time, TR$Status) 
Surv.rsp.new <- Surv(TE$Time, TE$Status) 
times <- c(60,90,105) 
auc_hc <- AUC.hc(Surv.rsp, Surv.rsp.new, lpnew, times) 
関連する問題