R语言与竞争风险模型第一篇

转自个人微信公粽号【易学统计】的统计学习笔记:R语言与竞争风险模型
题记:本文是个人的读书笔记,仅用于学习交流使用。

01解决什么问题

研究治疗方案A和肿瘤复发的关系,如果患者在复查的路上出车祸意外死亡,就观察不到肿瘤复发了,也就是说“车祸死亡” 和“复发”存在竞争。这种与复发无关的死亡,失访等,就称为竞争事件。

当存在竞争事件时,传统的做法,通常是将竞争事件的发生视作刪失(censor),来计算结局事件的生存概率,采用cox模型分析,但这会导致结局事件的生存概率估计有偏差,一般会高估累计风险发生率,因此在存在竞争风险时,我们优先使用竞争风险模型,而不是cox等其他风险模型。

竞争风险的单因素分析常用来估计关心终点事件的发生率,多因素分析常用来探索预后影响因素及效应值。

02案例分析

本案例数据来自R自带数据集(survival包的mgus2),共计1341名单克隆丙种球蛋白病患者,结局事件定义为“发生浆细胞恶性肿瘤”,而某些患者在“发生浆细胞恶性肿瘤”之前因为其他原因死亡,那这些发生其他死亡的患者就无法观察到“发生浆细胞恶性肿瘤”的终点,也就是说“其他死亡”与“发生浆细胞恶性肿瘤”存在竞争风险。故采用竞争风险模型分析。

2.1 加载数据

加载竞争风险模型的包cmprsk,加载数据,并定义结局为因子变量

library(cmprsk)
library(survival)
dt<- mgus2
str(dt)
dt$etime <- ifelse(dt$pstat==0, dt$futime, dt$ptime)
dt$event <- ifelse(dt$pstat==0, 2*dt$death, 1)
dt$event <- factor(dt$event, 0:2)
2.2 数据说明

hgb 血红蛋白;
creat 肌酐;
ptime 直至发展为浆细胞恶性肿瘤(PCM)或最后一次访视的时间(以月为单位);
pstat 出现PCM(浆细胞恶性肿瘤):0 =否,1 =是;
futime 直到死亡或最后一次接触的时间,以月为单位;
death 发生死亡:0 =否,1 =是;这里把PCM作为结局事件,death作为竞争事件。


图1.png
2.3 单因素分析

类比两组生存资料log-rank检验,考虑竞争风险事件,同样可以进行单因素分析与多因素分析。下面我们就可以使用cuminc()函数进行单因素的Fine-Gray检验

fit0 <- cuminc(dt$etime,dt$event,dt$sex)
fit0
plot(fit0,xlab = 'Month', ylab = 'CIF',lwd=2,lty=1,
     col = c('red','blue','black','forestgreen'))
图3.png
结果解读:

Test第一行统计量=1.194508, P=0.274422157,表示在控制了竞争风险事件(即第二行计算的统计量和P值)后,男性和女性的累计发展为PCM的风险无统计学差异P=0.274422157。
est表示估计的各时间点男性和女性的累计发展为PCM发生率与累计竞争风险事件发生率(分别用1和2来区分,与第一行第二行一致)。
var表示估计的各时间点男性和女性的累计发展为PCM发生率与累计竞争风险事件发生率的方差(分别用1和2来区分,与第一行第二行一致)。

绘制曲线:

下面我们画出累计PCM发生率与累计竞争风险事件发生率的生存曲线,直观表示上述数字化结果。


图2.png
图形解读:

纵坐标表示累计发生率pcm,横坐标是时间轴。我们从F1对应的红色曲线和M1对应的蓝色曲线可以得出,女性组的发生pcm风险较男性组高,但未达到统计学意义,P=0.27。同理,F2对应的黑色曲线在M2对应的草绿色曲线下方,我们可以得出,女性组的竞争风险事件发生率较男性组低,具有统计学差异,P=0.0064。简单来讲,这个图可以用一句话来概括:在控制了竞争风险事件后,女性组和男性组累计PCM发生率无统计学差异P=0.27。

2.4 竞争风险模型(多因素分析)

下面我们进行考虑竞争风险事件的生存资料的多因素分析方法。在cmprsk包中crr()函数可以很方便的实现多因素分析。

###多因素竞争风险
cov <- data.frame(age = dt$age,
                  sex = ifelse(dt$sex=='M',1,0), ## 设置哑变量
                  hgb = dt$hgb) 

##构建多因素的竞争风险模型。此处需要指定failcode=1, cencode=0, 分别代表结局事件赋值1与截尾赋值0,其他赋值默认为竞争风险事件2。
fit2 <- crr(dt$etime, dt$event, cov, failcode=1, cencode=0)
summary(fit2)
图4.png
结果解读:

在控制了竞争风险事件后,age,即疾病所处阶段是发生pcm的独立影响因素,P=0.0025。其HR及95% CI分别为0.983(0.971,0.994),说明年龄是个保护因素,年龄越大,发生PCM的风险越低。

2.5 预测
predict_crr <- predict.crr(fit2, data.frame('age'=c(80),'sex'=c(1),'hgb'=c(15.2)))
plot(predict_crr,col='green')
图5.png
2.6 与cox模型对比
图6.png

可以看出,在存在竞争风险时,若不适时使用竞争风险模型,而使用cox等模型,会高估Cumulative event rate。

如果您觉得有用,请点赞,转发哦~
更多统计小知识,请关看 公粽号 易学统计

更多阅读
Nomo图出现这种问题,如何修改!
线性回归异方差问题,如何修正!
R语言:样条回归构建
R语言|广义相加模型(GAM)
R语言:多水平统计模型
R语言:广义估计方程(GEE)
R语言|两因素重复测量方差分析
R语言|基于Cox模型pec包深度验证
R语言|中位生存时间列线图绘制
R语言|Cox模型校准度曲线绘制
R语言|中位生存时间列线图绘制
基于Lasso回归筛选变量构建Cox模型并绘制Nomogram
R语言Logistic回归模型验证及Nomogram绘制
如何进行高维变量筛选和特征选择(一)?Lasso回归

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,732评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,496评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,264评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,807评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,806评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,675评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,029评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,683评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,704评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,666评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,773评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,413评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,016评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,978评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,204评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,083评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,503评论 2 343

推荐阅读更多精彩内容