找了好久,中文的竞争风险模型的学习资料好少哦,再加上帮粉丝做了一个竞争模型的分析,今天顺带就给大家写一个竞争风险回归的例子。也是接着上一篇文章的续[R数据分析:竞争风险模型的做法和解释]
实例描述
我们有177例干细胞移植的急性白血病患者,我们关心这些病人的白血病复发情况,但是记住,因为白细胞移植,其移植相关死亡风险也加大。那么死亡和复发存在竞争关系,毕竟病人有可能还没等到复发就死了嘛,所以做数据分析的时候要考虑。对于这样的数据我们应该用风险竞争模型。
同时我们更关心协变量比如说病人性别,白血病类型,移植时期,干细胞来源等等这些变量是如何影响病人白血病复发风险的。
我们的数据长这样:
其中ftime为时间变量,status为删失或者竞争事件,我们要用到的预测变量包括Age, Sex, D, Phase, and Source共4个,分别代表病人的年龄,性别,疾病类型,阶段,干细胞来源。
首先我们必须将预测变量中的因子类型转化为哑变量,我们需要构建一个哑变量转化函数:
factor2ind <- function(x, baseline)
{
xname <- deparse(substitute(x))
n <- length(x)
x <- as.factor(x)
if(!missing(baseline)) x <- relevel(x, baseline)
X <- matrix(0, n, length(levels(x)))
X[(1:n) + n*(unclass(x)-1)] <- 1
X[is.na(x),] <- NA
dimnames(X) <- list(names(x), paste(xname, levels(x), sep = ":"))
return(X[,-1,drop=FALSE])
}
factor2ind()这个函数就可以很方便的将因子转化为n-1列的矩阵,同时规定参考水平。
接下来要做的就是把所有预测变量进行绑定,形成预测变量矩阵:
x <- cbind(Age,factor2ind(Sex,'M'),
factor2ind(D,'ALL'),
factor2ind(Phase,'Relapse'),
factor2ind(source))
有了这个预测变量矩阵我们就可以开始拟合我们竞争风险模型了,主要要用到crr这个函数,这个函数最简单的模式就是你把随访事件喂给它,把结局事件喂给它,再把自变量喂给他,要注意删失数据编码为0,主要事件编码为1,竞争事件为2:
mod1 <- crr(ftime,Status,x)
summary(mod1)
[图片上传失败...(image-ddca3c-1612628484288)]
可以看到,我们的竞争回归模型就拟合好了。
结果的第一部分首先给出了各个变量的系数和相对风险relative risk exp(*****β̂j*****),标准误,z值和p值,在我们的结果中,可以看出只有Phase这个变量是显著的。
结果的第二部分就给出各个变量的相对风险the relative risk for each term, exp(*****β̂j*****), and a 95% confidence interval和置信区间。
如何解释呢?
The relative risk or subdistribution hazard ratio for a categorical covariate is the ratio of subdistribution hazards for the actual group with respect to the baseline, with all other covariates being equal. If the covariate is continuous then the relative risk refers to the effect of a one unit increase in the covariate, with all other covariates being equal. In our data, exp(−0.0352)=0.965 is the relative risk of a female with respect to a male, and exp(−0.0185)=0.982 is the relative risk for a 1 year increase in age.
对于分类变量来说,相对风险就是相对于参考水平,该水平的风险是多少。对于连续变量来说,相对风险解释为自变量每增加一个单位产生的效果。在我们的例子中就有女性相对于男性的风险为exp(−0.0352)=0.965;病人的年龄每增加一岁白血病复发的风险相对于不增加为exp(−0.0185)=0.982。
小结
今天给大家写了竞争风险回归模型的做法和结果解释,感谢大家耐心看完,自己的文章都写的很细,代码都在原文中,希望大家都可以自己做一做,请关注后私信回复“数据链接”获取所有数据和本人收集的学习资料。如果对您有用请先收藏,再点赞转发。
也欢迎大家的意见和建议。
如果你是一个大学本科生或研究生,如果你正在因为你的统计作业、数据分析、论文、报告、考试等发愁,如果你在使用SPSS,R,Python,Mplus, Excel中遇到任何问题,都可以联系我。因为我可以给您提供最好的,最详细和耐心的数据分析服务。
如果你对Z检验,t检验,方差分析,多元方差分析,回归,卡方检验,相关,多水平模型,结构方程模型,中介调节,量表信效度等等统计技巧有任何问题,请私信我,获取最详细和耐心的指导。
If you are a student and you are worried about you statistical #Assignments, #Data #Analysis, #Thesis, #reports, #composing, #Quizzes, Exams.. And if you are facing problem in #SPSS, #R-Programming, #Excel, Mplus, then contact me. Because I could provide you the best services for your Data Analysis.
Are you confused with statistical Techniques like z-test, t-test, ANOVA, MANOVA, Regression, Logistic Regression, Chi-Square, Correlation, Association, SEM, multilevel model, mediation and moderation etc. for your Data Analysis...??
Then Contact Me. I will solve your Problem...
加油吧,打工人!
往期内容:
[R数据分析:Lasso回归筛选变量构建Cox模型并绘制列线图]
[R数据分析:ROC曲线与模型评价实例]
[R文本挖掘:文本主题分析topic analysis]
[R文本挖掘:词云图怎么做,worldcloud2初识]