R数据分析:cox模型如何做预测,高分文章复现

今天要给大家分享的文章是

Cone EB, Marchese M, Paciotti M, Nguyen DD, Nabi J, Cole AP, Molina G, Molina RL, Minami CA, Mucci LA, Kibel AS, Trinh QD. Assessment of Time-to-Treatment Initiation and Survival in a Cohort of Patients With Common Cancers. JAMA Netw Open. 2020 Dec 1;3(12):e2030072. doi: 10.1001/jamanetworkopen.2020.30072. PMID: 33315115; PMCID: PMC7737088.

作者做了癌症结局与延迟治疗时间的关系。作者希望能给在疫情背景下怎么样更好地分流癌症患者这一实际问题提供实证依据。作者纳入了4个癌症,发现了基本上Time-to-treatment initiation (TTI)约长,癌症患者的5年和10年死亡率越高。这个结果和目前的部分指南其实是矛盾的,所以整篇文章还是有一定实际意义的。

本文依然是关注文章如何在做法上在统计上进行复现,启发大家如何用自己的数据做一个同样设计的研究。

文章回顾

作者将关心的主变量TTI进行了分类处理,将延迟治疗时间分了4类:

TTI was a categorical variable with 4 levels: 8 to 60, 61 to 120, 121 to 180, and greater than 180 days

为了准确地回答TTI如何影响了全因死亡率,作者还纳入了一系列的协变量包括:clinical demographic variables,clinical demographic variables,Modality of any treatment。构建了一个cox模型。

作者呈现出来的结果包括两个表,如下图,分别是纳入的不同癌症人群的人群特征和按照延迟治疗时间分组后的癌症特征:

[图片上传失败...(image-d1b1bb-1657107881687)]

这两个表都是属于非常简单的描述统计,大家用用tableone或者gtsummary都可以很方便的做出来(请参考之前文章)。

具体到主分析,作者以all-cause mortality为结局变量,用训练好的cox模型以图的形式展示了不同TTI组随着时间变化predicted 5-year and 10-year all-cause mortality的变化情况:

[图片上传失败...(image-c491f8-1657107881687)]

上图就是文章中截取的,展示的是通过cox模型预测出来的不同TTI类别组的随着时间变化的生存概率。整篇文章的主要统计工作就是这些,那么我们今天要做的就是复现出来整个预测概率并出图。

实例操练

我手上有数据如下:

[图片上传失败...(image-ec76b8-1657107881687)]

我希望训练一个cox模型然后像文章一样通过模型预测情况看一看,不同用药组随着时间变化其生存概率的变化是如何的。

首先我用我的数据训练一个简单的cox模型,需要用到coxph函数,整体代码如下:

fit <- coxph(Surv(Time, death) ~ CD4 + drug + gender, data = data)

在上面的代码中我只是随意选择了3个变量:CD4 + drug + gender,或者说我在CD4 + gender存在的情况下我关心不同的drug(对应文章中的TTI)对患者随着时间变化的生存概率的影响情况。给大家展示下模型结果

[图片上传失败...(image-627c07-1657107881687)]

可以看到drug的效应并不显著,但是不影响我们示例作图。

到目前我们的cox模型训练好了,接下来我们需要用这个模型预测各组(此时是Drug变量的不同水平)从而得到模型的预测值,这个预测值一定是用控制了一系列的协变量之后的cox模型得到的预测值,作者的处理办法是将协变量都固定在均值水平:

Deriving predicted outcomes, while setting the covariate values at their mean, allowed us to estimate the mean difference in outcomes for each patient under different TTI while conserving their clinical and demographic characteristics

对于我们的cox模型来讲,我们关心的是drug这个变量,其余的变量同样的均需要固定在均值水平,生成新数据的代码如下:

ND1 <- with(aids.id, expand.grid(CD4 = 3, drug = levels(drug), 
                                 gender = factor("male", levels = levels(gender))))

在上面的代码中,我们将协变量1--CD4固定在了3,将协变量性别固定为了男性,这个时候我们将数据带入训练好的cox模型中可以得到预测值surv_probs_Cox,直接用plot进行作图:

plot(surv_probs_Cox, col = c("black", "red"),
     xlab = "Follow-Up Time (months)", ylab = "Survival Probabilities",
     bty='l',
     lwd=2
)
grid(ny=5,nx=NA,col='gray',lty = 1)

运行代码后得到下图,下面的图就展示了随着时间变化不同用药的病人死亡概率的差异。

[图片上传失败...(image-9bf02c-1657107881687)]

当然啦,为了和原文更像一点,我们可以用同样的数据在ggplot2中重新画下,并且像原文章一样将曲线变为smoothed curve,效果如下:

[图片上传失败...(image-714127-1657107881687)]

基本上和原文的展示形式一样了。每种癌症做完,形成大图,整篇文章的主分析也就完成了,好了,本文毕。

小结

今天给大家写了一篇文章的结果呈现方法,希望传递的信息是我们做cox模型,不一定都是在正文中给出一系列的HR,当我们能收到的临床数据很少的时候我们用图来展示结果有可能更加的easily interpreted by clinicians and policymakers

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

也欢迎大家的意见和建议,大家想了解什么统计方法都可以在文章下留言,说不定我看见了就会给你写教程哦,有疑问欢迎私信,有合作意向请直接滴滴我。

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

推荐阅读更多精彩内容