我想使用survIDINRI包中的IDI.INF函数,使用15000名参与者的数据库比较两个Cox回归模型的性能。我使用了以下脚本:
D=subset(Dataset, select=c("time","status","Var1","Var2","Var3", "Var4", "Var5", "Var6", "Var7", "Var8", "Var9","Var10","Var11","Var12","Var13"))
D$status=as.numeric(D$status==2)
D=D[!is.na(apply(D,1,mean)),] ; dim(D)
Dataset=D[1:15930,]
outcome=D[,c(1,2)]
covs1<-as.matrix(D[,c(-1,-2)])
covs0<-as.matrix(D[,c(-1,-2,-13)])
t0=80
x <- IDI.INF(outcome, covs0, covs1, t0, npert=200)
最后,我收到以下错误消息:
Error in unoecdf(cc, pdiff[case], Wi[case] * PTB.Vi[case]) :
NA/NaN/Inf in foreign function call (arg 5)
有人知道此错误消息意味着什么吗?我尝试使用不同的变量并减少使用的变量数量,以及更改时间t(0)等等均未成功。
答案 0 :(得分:0)
如果您的status
变量是二分式的(即0、1),则将D$status=as.numeric(D$status==2)
更改为D$status=as.numeric(D$status==1)
。
答案 1 :(得分:0)
就我而言,它将数据设置为小标题:
# include in IDI.INF help example code to invoke "bug"
library(tibble)
mydata=as_tibble(mydata)
答案 2 :(得分:0)
就我而言,问题是通过从数据中省略 NA 来解决的。