列线图,又称诺莫图(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包绘制动态列线图相关推荐

  1. R语言使用compareGroups包绘制单因素分析表实战:基于survival包的colon数据集

    R语言使用compareGroups包绘制单因素分析表实战:基于survival包的colon数据集 目录 R语言使用compareGroups包绘制单因素分析表实战:基于survival包的colo ...

  2. R语言使用compareGroups包绘制分组患者基线信息表实战:基于survival包lung数据集

    R语言使用compareGroups包绘制分组患者基线信息表实战:基于survival包lung数据集 目录 R语言使

  3. 三线表是什么?R语言使用table1包绘制(生成)三线表、构建不分层的三线表

    三线表是什么?R语言使用table1包绘制(生成)三线表.构建不分层的三线表 目录

  4. R语言使用table1包绘制(生成)三线表、使用单变量分列构建三线表、编写自定义函数在三线表中添加p值

    R语言使用table1包绘制(生成)三线表.使用单变量分列构建三线表.编写自定义函数在三线表中添加p值 目录

  5. R语言使用table1包绘制(生成)三线表、使用单变量分列构建三线表、设置transpose参数转置三线表、变量作为列,子组(strata)作为行

    R语言使用table1包绘制(生成)三线表.使用单变量分列构建三线表.设置transpose参数转置三线表.变量作为列,子组(strata)作为行 目录

  6. R语言使用table1包绘制(生成)三线表、使用单变量分列构建三线表、自定义overall的标签名称

    R语言使用table1包绘制(生成)三线表.使用单变量分列构建三线表.自定义overall的标签名称 目录

  7. R语言使用table1包绘制(生成)三线表、使用单变量分列构建三线表、为指定变量添加单位信息、自定义overall的标签名称

    R语言使用table1包绘制(生成)三线表.使用单变量分列构建三线表.为指定变量添加单位信息.自定义overall的标签名称 目录

  8. R语言使用table1包绘制(生成)三线表、使用单变量分列构建三线表、编写自定义三线表结构(将因子变量细粒度化重新构建三线图)、为不同的变量显示不同的统计信息

    R语言使用table1包绘制(生成)三线表.使用单变量分列构建三线表.编写自定义三线表结构(将因子变量细粒度化重新构建三线图).为不同的变量显示不同的统计信息 目录

  9. 三线表是什么?R语言使用table1包绘制(生成)三线表、使用单变量分列构建三线表、通过topclass参数自定义三线表表格的显示形式(显示为类似斑马线、并将所有列居中,包括包含行标签的第一列)

    三线表是什么?R语言使用table1包绘制(生成)三线表.使用单变量分列构建三线表.通过topclass参数自定义三线表表格的显示形式(显示为类似斑马线.并将所有列居中,包括包含行标签的第一列) 目录

  10. 三线表是什么?R语言使用table1包绘制(生成)三线表、使用单变量分列构建三线表、编写自定义三线表结构(将因子变量细粒度化重新构建三线图)、编写自定义函数在三线表中添加p值

    三线表是什么?R语言使用table1包绘制(生成)三线表.使用单变量分列构建三线表.编写自定义三线表结构(将因子变量细粒度化重新构建三线图).编写自定义函数在三线表中添加p值 目录

最新文章

  1. java isfocusowner_Java JTextArea.isFocusOwner方法代码示例
  2. 剑指offer 算法 (画图让抽象问题形象化)
  3. 深度学习-Tensorflow2基础知识
  4. C#下载文件(可显示进度)的方法实现
  5. 关于 SAP UI5 Table 控件中行合并的实现方式
  6. SharePoint2010内容类型剖析(四)
  7. 记一次 Vue2 迁移 Vue3 的实践总结
  8. 第十天内容《基础交换十》
  9. Ubuntu10.04设备未托管
  10. fdfs手动上传下载
  11. Qt 5.2.1 applications (32 bit) in CentOS (64 bit with gcc 4.8.2)
  12. java 求矩阵的伴随矩阵_求矩阵伴随矩阵的java实现
  13. LabVIEW编程LabVIEW控制MMC-100位移台例程与相关资料
  14. springboot通过maven管理mysql驱动加载失败
  15. 八爪鱼抓取html,网页图片采集和抓取方法详解 - 八爪鱼采集器
  16. linux smtp ip伪造,邮箱伪造之搭建匿名SMTP服务器
  17. YOLO5Face:为什么要重新发明人脸检测器
  18. html+默认ie11,IE11浏览器设置成默认浏览器的方法
  19. Vue前端项目-系统监控-数据监控
  20. 网页制作的形式美的规则

热门文章

  1. 锂离子电池知多少——①正极材料
  2. Springboot JUnit5 Controller 单元测试
  3. 1.运动学分析-正运动学
  4. Linux下通过iwconfig命令连接无线
  5. 数字化图书馆软硬件环境要求-转自《博奥智源》
  6. matlab里的计算符号,Matlab符号运算总结
  7. 安卓webview开发简介
  8. Intouch2014无法自动启动西门子驱动DASSIDIRECT.EXE的原因及解决办法
  9. 树莓派raspberry pi 4 SSH默认密码无法登录解决办法
  10. 人工智能最前沿的技术视频,大量教程