临床数据森林图

Forest plot(森林图)

森林图在临床数据分析中很常见,通过图片的形式直接展示一些常见回归分析的结果,比表格更直观和清晰。

思路流程大概是这样:
安装必备软件包----> 获取数据----> 构建模型----> 绘制森林图----> 图片优化

1)安装必备软件包

#安装并载入R包
if (!requireNamespace("BiocManager", quietly = TRUE)) 

  install.packages("BiocManager")

BiocManager::install("survival")

BiocManager::install("survminer")

library(survival)

library(survminer)

2)获取数据

由于懒得下载数据,而且TCGAbiolinks包太大,安装容易下载失败,因此数据自己构建。


tumor_data <- data.frame(patient_ID = seq(1,1000),

                  gender = as.character(sample(c("Male","Female"),1000,replace = TRUE)),

                  status = sample(c(0,1),1000,replace = TRUE),              #结局事件,0代表死亡,1代表生存

                  time = rnorm(1000,312,120),                               #生存时间

                  age = round(runif(1000,min=23,max=90)),

                  grade = as.character(paste("G",round(runif(1000,min=0,max=4)),sep = "")),

                  height = round(runif(1000,min=155,max=190)),

                  weight = round(runif(1000,min=80,max=200)))

3) 构建模型

临床数据模型的构建,这里统称临床预测模型,因为主要是基于已有的数据,通过数学模型(如logistics回归、COX回归等),

估算患有某病的概率或者将来某结局发生的概率。

临床预测模型包括诊断模型(Diagnosticmodels)和预后模型(Prognostic Models)。

  1. 诊断模型关注的是基于研究对象的临床症状和特征,诊断当前患有某种疾病的概率,多见于横断面研究。

  2. 预后模型关注的是在当下的疾病状态下,未来某段时间内疾病复发、死亡,伤残以及出现并发症等结局的概率,多见于队列研究。

如图所示:


预测模型.jpg

因为构建的是肿瘤数据,因此包含生存时间(time)和结局事件(生存、死亡或者删失),模型选择COX多因素回归模型。

即 比例风险(Cox)回归模型——Proportional hazards model 通常是time-to-event

然而数据中也包生存时间,因此可以做生存分析,本文暂不说明,下次再深究。

#这里,Surv(time, status) 即生存时间即time;结局事件即status

#~ age + gender + grade 即你想纳入分析的变量,根据情况自己添加或者删除

model <- coxph( Surv(time, status) ~ age + gender + grade , data = tumor_data )

4)绘制森林图

ggforest(model, data = tumor_data )

结果大概是这个亚子,但是因为数据是随机生成的,显示的数值会不一样,不用担心。


森林图.jpeg

5)图片调整和优化

model <- coxph( Surv(time, status) ~ age + gender + grade , data = tumor_data )

ggforest(model,  

        data = tumor_data ,  

        main = 'Hazard ratio of LIHC',                       #标题

        cpositions = c(0.05, 0.15, 0.35),                    #前三列距离

        fontsize = 1,                                       #字体大小

        refLabel = 'reference',                             #相对变量的数值标签,也可改为1

        noDigits = 3                                        #保留HR值以及95%CI的小数位数

)

这个亚子


优化森林图.jpeg

到此,基础的森林图就结束了。


附上原创诗一首:

意将寒夜锥悬梁
不可枉自虚寸光
待到夏荷映满日
为君奉上酒一池
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容