基于R语言的DynNom包绘制动态列线图
列线图,又称诺莫图(Nomogram),它是建立在回归分析的基础上,使用多个临床指标或者生物属性,然后采用带有分数高低的线段,从而达到设置的目的:基于多个变量的值预测一定的临床结局或者某类事件发生的概率。列线图(Nomogram)可以用于多指标联合诊断或预测疾病发病或进展。近些年来在高质量SCI临床论文中用的越来越多。列线图将回归模型转换成了可以直观的视图,让结果更容易判断,具有可读性,。
我们既往已经介绍了使用使用R语言rms包绘制列线图,今天我们来介绍一下怎么使用R语言DynNom包绘制动态列线图,它的呈现方式比传统列线图更加直接,不用计算分数就可以直接给出结果,废话不多说,立即进入正题,还是使用我们既往的乳腺癌数据,先导入包和导入数据。
library(DynNom)
library(survival)
library(rms)
library(foreign)
bc <- read.spss("E:/r/test/Breast cancer survival agec.sav",use.value.labels=F, to.data.frame=T)
我们先来看看数据:
age表示年龄,pathsize表示病理肿瘤大小(厘米),lnpos表示腋窝淋巴结阳性,histgrad表示病理组织学等级,er表示雌激素受体状态,pr表示孕激素受体状态,status结局事件是否死亡,pathscat表示病理肿瘤大小类别(分组变量),ln_yesno表示是否有淋巴结肿大,time是生存时间,后面的agec是我们自己设定的,不用管它。
删除缺失值,把分类变量转换成因子
bc <- na.omit(bc)
bc$er<-as.factor(bc$er)
bc$pr<-as.factor(bc$pr)
bc$ln_yesno<-as.factor(bc$ln_yesno)
我们先来使用rms包来绘制一个传统列线图
对数据进行打包
dd <- datadist(bc)
options(datadist="dd")
建立回归方程并且绘制列线图
f1<- cph(Surv(time, status) ~ age + pathsize+ er + pr + ln_yesno, surv=T, data=bc)
surv <- Survival(f1)
nom <- nomogram(f1, fun=list(function(x) surv(36, x), function(x) surv(60, x), function(x) surv(120, x)), lp=F, funlabel=c("3-year survival", "5-year survival", "10-year survival"),maxscale=10, fun.at=c(0.95, 0.9, 0.85, 0.8, 0.75, 0.7, 0.6, 0.5))
plot(nom)
现在来说说怎么绘制动态列线图,当我们建立好回归方程f1后,就可以绘制动态列线图了
DynNom(f1,bc)
接下来会弹出一个页面如下;
我们可以根据自己的需要进行选择,假设我想比较50岁,肿瘤3cm,有淋巴结肿大和没有淋巴结肿大的3年生存率
点击:Predicted Survival,可以转到风险比例的界面
点击按键:Predicted Survival at this Follow Up,在time这里我们可以调整生存时间,获得我们需要的数据
还可以得出很详尽的模型和数据资料
除此COX回归外之外,lm, glm, ols, Glm, lrm, cph, mgcv::gam模型都是可以制作的,有些人可能想问了,那图片怎么导出来,我们可以看到R里面有这样一个地址
我们把它复制下来再浏览器打开,可以看到在网页上也出现一个一模一样的
其实它原理就是调用一个网页来帮我们计算绘图,有了网页数据,我们直接在网页上导出图片就可以了。
OK,今天就说到这里了,其他功能留您自己摸索,其实建立模型后作图非常简单,您可以试试。
更多精彩文章请关注公众号:零基础说科研
基于R语言的DynNom包绘制动态列线图相关推荐
- R语言使用compareGroups包绘制单因素分析表实战:基于survival包的colon数据集
R语言使用compareGroups包绘制单因素分析表实战:基于survival包的colon数据集 目录 R语言使用compareGroups包绘制单因素分析表实战:基于survival包的colo ...
- R语言使用compareGroups包绘制分组患者基线信息表实战:基于survival包lung数据集
R语言使用compareGroups包绘制分组患者基线信息表实战:基于survival包lung数据集 目录 R语言使
- 三线表是什么?R语言使用table1包绘制(生成)三线表、构建不分层的三线表
三线表是什么?R语言使用table1包绘制(生成)三线表.构建不分层的三线表 目录
- R语言使用table1包绘制(生成)三线表、使用单变量分列构建三线表、编写自定义函数在三线表中添加p值
R语言使用table1包绘制(生成)三线表.使用单变量分列构建三线表.编写自定义函数在三线表中添加p值 目录
- R语言使用table1包绘制(生成)三线表、使用单变量分列构建三线表、设置transpose参数转置三线表、变量作为列,子组(strata)作为行
R语言使用table1包绘制(生成)三线表.使用单变量分列构建三线表.设置transpose参数转置三线表.变量作为列,子组(strata)作为行 目录
- R语言使用table1包绘制(生成)三线表、使用单变量分列构建三线表、自定义overall的标签名称
R语言使用table1包绘制(生成)三线表.使用单变量分列构建三线表.自定义overall的标签名称 目录
- R语言使用table1包绘制(生成)三线表、使用单变量分列构建三线表、为指定变量添加单位信息、自定义overall的标签名称
R语言使用table1包绘制(生成)三线表.使用单变量分列构建三线表.为指定变量添加单位信息.自定义overall的标签名称 目录
- R语言使用table1包绘制(生成)三线表、使用单变量分列构建三线表、编写自定义三线表结构(将因子变量细粒度化重新构建三线图)、为不同的变量显示不同的统计信息
R语言使用table1包绘制(生成)三线表.使用单变量分列构建三线表.编写自定义三线表结构(将因子变量细粒度化重新构建三线图).为不同的变量显示不同的统计信息 目录
- 三线表是什么?R语言使用table1包绘制(生成)三线表、使用单变量分列构建三线表、通过topclass参数自定义三线表表格的显示形式(显示为类似斑马线、并将所有列居中,包括包含行标签的第一列)
三线表是什么?R语言使用table1包绘制(生成)三线表.使用单变量分列构建三线表.通过topclass参数自定义三线表表格的显示形式(显示为类似斑马线.并将所有列居中,包括包含行标签的第一列) 目录
- 三线表是什么?R语言使用table1包绘制(生成)三线表、使用单变量分列构建三线表、编写自定义三线表结构(将因子变量细粒度化重新构建三线图)、编写自定义函数在三线表中添加p值
三线表是什么?R语言使用table1包绘制(生成)三线表.使用单变量分列构建三线表.编写自定义三线表结构(将因子变量细粒度化重新构建三线图).编写自定义函数在三线表中添加p值 目录
最新文章
- java isfocusowner_Java JTextArea.isFocusOwner方法代码示例
- 剑指offer 算法 (画图让抽象问题形象化)
- 深度学习-Tensorflow2基础知识
- C#下载文件(可显示进度)的方法实现
- 关于 SAP UI5 Table 控件中行合并的实现方式
- SharePoint2010内容类型剖析(四)
- 记一次 Vue2 迁移 Vue3 的实践总结
- 第十天内容《基础交换十》
- Ubuntu10.04设备未托管
- fdfs手动上传下载
- Qt 5.2.1 applications (32 bit) in CentOS (64 bit with gcc 4.8.2)
- java 求矩阵的伴随矩阵_求矩阵伴随矩阵的java实现
- LabVIEW编程LabVIEW控制MMC-100位移台例程与相关资料
- springboot通过maven管理mysql驱动加载失败
- 八爪鱼抓取html,网页图片采集和抓取方法详解 - 八爪鱼采集器
- linux smtp ip伪造,邮箱伪造之搭建匿名SMTP服务器
- YOLO5Face:为什么要重新发明人脸检测器
- html+默认ie11,IE11浏览器设置成默认浏览器的方法
- Vue前端项目-系统监控-数据监控
- 网页制作的形式美的规则