我很难为每个治疗组计算 C指数( UnoC 和 survAUC R软件包)以评估可变治疗相互作用
我有一个包含4个解释变量X1,X2,X3,X4的数据库,如下所示:
> str(data)
'data.frame': 1000 obs. of 7 variables:
$ X1 : num -0.578 0.351 0.759 -0.858 -1.022 ...
$ X2 : num -0.7897 0.0339 -1.608 -1.1642 -0.0787 ...
$ X3 : num -0.1561 -0.7147 -0.8229 -0.1519 -0.0318 ...
$ X4 : num 1.4161 -0.0688 -0.155 -0.1571 -0.649 ...
$ TRT : num 0 0 0 0 0 0 0 1 0 1 ...
$ time: num 6.52 2.15 3 1.31 1.56 ...
$ stat: num 1 1 1 1 1 1 1 1 1 1 ...
变量X4与治疗变量相互作用,我没有审查数据。
我想计算每个治疗组的C指数(UnoC)。我希望对照组的C指数等于0.5,而实验组的C指数则更高。 但是,我的双臂获得几乎相同的价值!
任何人都可以确认:如果我在变量和治疗之间有很强的相互作用,那么实验组的C指数很高,而对照组的C指数为0.5?
这是我的尝试:
TR <- data[1:500,]
TE <- data[501:1000,]
s <- Surv(TR$time, TR$stat)
sNew <- Surv(TE$time, TE$stat)
train.fit <- coxph(Surv(time, stat) ~ X4, data=TR)
lpnew <- predict(train.fit, newdata=TE)
# The C-index for each treatment arm
UnoC(Surv.rsp = s[TR$TRT == 1], Surv.rsp.new = sNew[TE$TRT == 1], lpnew = lpnew[TE$TRT == 1])
[1] 0.7577109
UnoC(Surv.rsp = s[TR$TRT == 0], Surv.rsp.new = sNew[TE$TRT == 0], lpnew = -lpnew[TE$TRT == 0])
[1] 0.7295202
感谢您的帮助