R数据分析:竞争风险模型的做法和解释

今天有粉丝找我做一个竞争风险模型,顺便给大家写一个简易的教程,有问题大家直接私信,根据您的需求,一直做到您满意。

竞争风险模型这个东西还是临床医生用的多:

很直观的情景就是:研究治疗方案A和白血病复发的关系,如果患者在去医院复查的路上出车祸意外死亡了,就观察不到白血病复发了,也就是说“车祸死亡” 和“复发”存在竞争。这样的现象在医学研究中,非常常见!你想研究A因素导致的病人死亡,可是现实情况是病人常常死于其他疾病或情形。这个就是竞争风险模型。

竞争风险模型可以作为Kaplan–Meier (KM)和cox比例风险模型的补充,在你的病人有很多个风险因素暴露的时候,如果你还将死于其余事件的数据记为删失数据就会高估你研究的暴露因素的累计发病率,这个时候使用竞争风险模型才是最好的选择:

Competing risk analysis refers to a special type of survival analysis that aims to correctly estimate marginal probability of an event in the presence of competing events.

实例描述

现在我想对我的病人随访4个月,我关心的结局是病人会不会得A病死亡,但是这4个月中有病人陆陆续续得B病死亡了,我的研究问题是:AB导致的病人的死亡风险分别是如何随时间变化的。

那么这个就是一个竞争风险问题,我们可以模拟看看:

ss <- rexp(100)#结局时间
gg <- factor(sample(1:2,100,replace=TRUE),1:2,c('男','女'))#生成因子分组
cc <- sample(0:2,100,replace=TRUE)#结局
print(xx <- cuminc(ss,cc))

删失结局为0,所以我们有1,2两个结局相互竞争,分别是“死于A病”和“死于B病”,从上面的结果可以看出在不同的时间点死于AB病的边缘概率。比如在时间点1时病人死于A病和B病的边缘概率或者边缘风险分别是0.18和0.26.

我们可以把累计风险函数画出来:

plot(xx, curvlab = c("死于A病", "死于B病"), xlab = "Days")

到这儿,问题一就解决了,病人其实更容易死于B病哦。

然后问题二:男女之间死于AB病的风险有无差异。

这个问题就涉及到竞争模型的分组比较,学会了男女比较其他的分类变量的比较都是一样的:

betweengroups <- cuminc(ftime = ss, fstatus = cc, group = gg)

运行上面的代码就可以构建一个以病人性别分组比较的竞争风险模型,同样的我们可以将各个组的累计风险画出来:

plot(betweengroups, lty = c(1, 1, 2, 2),curvlab = c("死于A病,男", "死于A病,女",
                                                    "死于B病,男", "死于B病,女"), 
     xlab = "Days",color = 1:6)

那么具体男女之间不同疾病的死亡风险有没有差异呢?

可以看到上图的模型输出结果中pv大于0.05,说明男女之间两种疾病的死亡风险并没有统计上的不同。

小结

今天给大家简要介绍了竞争风险模型,注意我们还只是仅仅在探讨死亡风险这个因变量的不同变化,还没有考虑是哪些因素影响这个死亡风险,之后的文章会给大家写。

感谢大家耐心看完,自己的文章都写的很细,代码都在原文中,希望大家都可以自己做一做,请关注后私信回复“数据链接”获取所有数据和本人收集的学习资料。如果对您有用请先收藏,再点赞转发。

也欢迎大家的意见和建议。

如果你是一个大学本科生或研究生,如果你正在因为你的统计作业、数据分析、论文、报告、考试等发愁,如果你在使用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

python数据分析:pandas的converters参数

R文本挖掘:词云图怎么做,worldcloud2初识

相关文章

Python 和 R 数据分析/挖掘工具互查

写在前面在此总结一些在数据分析/挖掘中可能用到的功能,方便大家索引或者从一种语言迁移到另一种。当然,这篇博客还会随时更新(不会另起一篇,为了方便大家索引),请大家如果有需要收藏到书签中。如果大家已经熟...

Python 裸体检测

人脑知道如何区分穿衣服的人、穿比基尼的人和裸体的人。然后我有一个我无法立即回答的问题:一个简单的程序,几行代码就能知道照片是否裸体吗?让我们进入正题……一个可以知道你是否裸体的人工智能?Nudity...

化学方向:EI源刊实验数据写法

推荐期刊:Journal of Analytical Chemistry- 刊号:ISSN 1061-9348,CN 11-2345/O6- 影响因子:2.1(最新版)- 分区:中科院3区,JCR...

想学好Python数据分析,一定要掌握的重要模块之Statsmodels

Statsmodels是Python中一个功能强大且广泛使用的统计建模和经济计量学库。它允许用户构建各种统计模型,执行假设检验,进行预测,并对模型结果进行详细的诊断和可视化。以下是statsmodel...

「医学统计学之二」卡方检验之独立性检验:python的scipy实现

△ 概念:1 独立性检验:是对两个或两个以上因子彼此之间是否相互独立做检验时,就要用到卡方检验。2 列联表中变量独立性的卡方检验,采用python中scipy包的scipy.stats.chi2_co...

R数据分析:倾向性评分匹配实例操作

倾向性评分匹配是一种控制混杂的技巧,本文主要写操作,具体原理大家自己摸索哈。propensity score matching (PSM) is a “statistical matching tec...