好玩的一个R包!绘制动态列线图
2023年以来浙中医大学郑老师开设了一系列医学科研统计课程,零基础入门医学统计包括R语言、meta分析、临床预测模型、真实世界临床研究、临床试验数据分析、重复测量资料分析等9门课程,如果您有需求,不妨点击下方跳转查看:
2023年9门科研统计课程预售:多次直播,课题报销可先开发票

绘制动态列线图常见的包有DynNom包,这个包用的很多,今天来学习另外一个绘制动态列线图的R包——shinyPredict包。

上面这个图就是使用shinyPredict包绘制的动态列线图。
就个人而言,我感觉这个包比DynNom包好用,功能也更强大一些,学习也不复杂。
下面来学习下这个R包。
1. 安装和加载R包
安装可以直接从CRAN上安装。
install.packages("shinyPredict") # 安装包
library(shinyPredict) # 加载包
2. 加载数据集
使用survival包的lung数据集进行演示。
library(survival) # 加载包
data(lung) # 加载数据集
View(lung) # 预览数据集

这个数据集里面的变量比较简单。
在创建列线图前将lung数据集中需要用到的分类变量转化为因子。
lung$sex <- factor(lung$sex) # 将性别转换为因子
lung$ph.ecog <- factor(lung$ph.ecog) # 将ph.ecog变量转换为因子
3. 拟合模型
这里拟合三个生存模型用来绘制列线图。
tmp.m3 <- coxph(Surv(time , status ) ~ sex + age,
data=lung,
model = FALSE, y=FALSE)
tmp.m4 <- coxph(Surv(time , status ) ~ sex + age + ph.ecog,
data = lung,
model = FALSE, y=FALSE)
tmp.m5 <- coxph(Surv(time , status ) ~ sex + age + ph.ecog + ph.karno,
data=lung,
model = FALSE, y=FALSE)
如上图所示,我们拟合了三个Cox回归模型,每个模型中纳入的变量不同。
4. 创建动态列线图
下面来创建动态列线图。
shinyPredict(models=list("Model 1"= tmp.m3),
data=lung[, c("time","status","sex","age")], # 创建动态列线图的数据
path = "C:\\Rdata\\shiny", # 动态列线图shiny app文件存放位置
title="Predicting lung cancer mortality") # 列线图的名称
运行上述代码后,会在C:\Rdata\shiny
文件路径生成三个文件。

我们使用RStudio打开app.R
文件。

如上图所示,点击Run App
会生成一个shiny app。

详情请点击下方:
https://mp.weixin.qq.com/s?__biz=MzAwOTYyMDY3OQ==&mid=2650404408&idx=3&sn=c35b473c9d723bed4ec3837a8ed177f7&chksm=83518b90b42602868362dc2ff07d90660960252f0bf7fbf8147cb55b33cb0ecde2c906ead14f&token=9721572&lang=zh_CN#rd


更多孟德尔随机化方法,欢迎参加郑老师团队3.25-26举办的“利用孟德尔随机化方法快速撰写SCI论文”科研培训课,详细请点击下方链接了解:
2023年科研实战课程通知
2022年以来,我们召集了一批富有经验的高校专业队伍,着手举行短期统计课程培训班,包括R语言、meta分析、临床预测模型、真实世界临床研究、问卷与量表分析、医学统计与SPSS、临床试验数据分析、重复测量资料分析、结构方程模型等9门课。如果您有需求,不妨点击查看:
2023年郑老师多门科研统计课程:多次直播,含孟德尔随机化方法
2023年统计服务