找了好久,中文的竞争风险模型的学习资料好少哦,再加上帮粉丝做了一个竞争模型的分析,今天顺带就给大家写一个竞争风险回归的例子。也是接着上一篇文章的续R数据分析:竞争风险模型的做法和解释 实例描述我们有177例干细胞移植的急性白血病患者,我们关心这些病人的白血病复发情况,但是记住,因为白细胞移植,其移植相关死亡风险也加大。那么死亡和复发存在竞争关系,毕竟病人有可能还没等到复发就死了嘛,所以做数据分析的时候要考虑。对于这样的数据我们应该用风险竞争模型。 同时我们更关心协变量比如说病人性别,白血病类型,移植时期,干细胞来源等等这些变量是如何影响病人白血病复发风险的。 我们的数据长这样:其中ftime为时间变量,status为删失或者竞争事件,我们要用到的预测变量包括Age, Sex, D, Phase, and Source共4个,分别代表病人的年龄,性别,疾病类型,阶段,干细胞来源。 首先我们必须将预测变量中的因子类型转化为哑变量,我们需要构建一个哑变量转化函数: factor2ind <- function(x, baseline) factor2ind()这个函数就可以很方便的将因子转化为n-1列的矩阵,同时规定参考水平。 接下来要做的就是把所有预测变量进行绑定,形成预测变量矩阵: x <- cbind(Age,factor2ind(Sex,'M'), 有了这个预测变量矩阵我们就可以开始拟合我们竞争风险模型了,主要要用到crr这个函数,这个函数最简单的模式就是你把随访事件喂给它,把结局事件喂给它,再把自变量喂给他,要注意删失数据编码为0,主要事件编码为1,竞争事件为2: mod1 <- crr(ftime,Status,x) 可以看到,我们的竞争回归模型就拟合好了。 结果的第一部分首先给出了各个变量的系数和相对风险relative risk exp(β̂j),标准误,z值和p值,在我们的结果中,可以看出只有Phase这个变量是显著的。 结果的第二部分就给出各个变量的相对风险the relative risk for each term, exp(β̂j), and a 95% confidence interval和置信区间。 如何解释呢?
对于分类变量来说,相对风险就是相对于参考水平,该水平的风险是多少。对于连续变量来说,相对风险解释为自变量每增加一个单位产生的效果。在我们的例子中就有女性相对于男性的风险为exp(−0.0352)=0.965;病人的年龄每增加一岁白血病复发的风险相对于不增加为exp(−0.0185)=0.982。 小结 |
|