具有可变治疗相互作用的每个治疗臂的C指数

时间:2020-09-29 13:12:55

标签: r survival-analysis survival concordance-index

我很难为每个治疗组计算 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

感谢您的帮助

0 个答案:

没有答案