R语言作列线图

列线图,又称诺莫图(Nomogram),它是建立在回归分析的基础上,使用多个临床指标或者生物属性,然后采用带有分数高低的线段,从而达到设置的目的:基于多个变量的值预测一定的临床结局或者某类事件发生的概率。列线图(Nomogram)可以用于多指标联合诊断或预测疾病发病或进展。

1. Cox回归列线图

#install.packages("rms")
#install.packages("survival")

# 加载包
library(survival)
library(rms)

# help(package="rms")
setwd("~/test")

data(package="survival")

dd<-datadist(lung)
options(datadist="dd")

f <- cph(Surv(time, status) ~ age+sex+ph.karno, data = lung,
        x=TRUE,y=TRUE,sur=TRUE)

## C-index(concordance index)
ff <- coxph(Surv(time, status) ~ age+sex+ph.karno, data = lung)
sum.surv <- summary(ff)
c_index <- sum.surv$concordance

## 画列线图
survival <- Survival(f)
survival1 <- function(x) survival(365,x) 
survival2 <- function(x) survival(730,x)

nom <- nomogram(f,fun= list(survival1,survival2),
         fun.at=c(0.05,seq(0.1,0.9,by=0.05),0.95),
         funlabel=c("1 year survival","2 year survival"))

plot(nom)

2. 逻辑回归列线图

par(mgp=c(1.6,0.6,0),mar=c(2,2,2,2))  ##设置画布
library(rms)

# 设定环境参数
ddist <- datadist(Affairs)
options(datadist='ddist')
# lrm和nomogram来自rms包
rms_fit <- lrm(ynaffairs ~ ., data = Affairs)
nomogram <- nomogram(rms_fit,fun=function(x) 1/(1+exp(-x)), ##逻辑回归计算公式
                     fun.at = c(0.001,0.01,0.05,seq(0.1,0.9,by=0.1),0.95,0.99,0.999),#风险轴刻度
                     funlabel = "Risk of affairs", #风险轴便签
                     lp=F,  ##是否显示系数轴
                     conf.int = F, ##每个得分的置信度区间,用横线表示,横线越长置信度越
                     abbrev = F #是否用简称代表因子变量
                     )
plot(nomogram)

  • 1
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值