首页 > 解决方案 > 具有可变治疗交互作用的每个治疗组的 C 指数

问题描述

我很难计算每个治疗组的C 指数(带有survAUC R 包的UnoC)来评估可变治疗相互作用。

我有一个包含 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

谢谢您的帮助

标签: rsurvival-analysissurvivalconcordance-index

解决方案


推荐阅读