基于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,今天就说到这里了,其他功能留您自己摸索,其实建立模型后作图非常简单,您可以试试。
更多精彩文章请关注公众号:零基础说科研
在这里插入图片描述

  • 8
    点赞
  • 59
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 11
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天桥下的卖艺者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值