绘制logisitc回归的风险预测值的nomogram图

 nomogram图,又称列线图,诺模图,可直接用于计算预测的分数
#first need to set path
setwd('E:\\Course\\cluster') #设置当前工作目录
getwd() #查看当前工作目录
thyroid<- read.table("thyroid.csv",header=FALSE,sep=",") #load

data=thyroid
data=thyroid[,1:10] #太多不拟合


fix(data)
rownames(data)[1]<-"thyroidlabel"

#把1,2的标签换成0 1 
for (i in 1:455)
{if(data[i,1]==2)
  data[i,1]=0
}

data=data[,-13]

###标签换成yes no的离散的  但是不好用
if(0){
for (i in 1:455)
{if(data[i,13]==0)
  data[i,13]='no'
else 
  data[i,13]='yes'
}}
###

library(rms)

## 第三步 按照nomogram要求“打包”数据,绘制nomogram的关键步骤,??datadist查看详细说明
ddist <- datadist(data)
options(datadist="ddist") 

## 第四步 构建模型
## 构建logisitc回归模型
mod <- lrm(data$thyroidlabel~.,data = data)
mod <- glm(data$thyroidlabel ~.,family=binomial(link = "logit"),data = data)  

## 绘制logisitc回归的风险预测值的nomogram图
nom <- nomogram(f1, fun= function(x)1/(1+exp(-x)), # or fun=plogis
                lp=F, funlabel="LN Metastasis Risk")
plot(nom)

nom <- nomogram(mod,
                lp=T,
                lp.at = seq(-5,5,by=0.5),
                fun=function(x) 1/(1+exp(-x)),
                funlabel = 'Risk of metastasis',
                fun.at = c(0.05,seq(0.1,0.9,by=0.1),0.95),
                conf.int = c(0.1,0.7))

plot(nom,
     lplabel = 'Linear Predictor',
     fun.side = c(1,1,1,1,3,1,3,1,1,1,1),
     label.every = 3,
     col.conf = c('blue','green'),
     conf.space = c(0.1,0.5),
     col.grid = gray(c(0.8,0.95)),
     which='shock')

结果如上图所示

 

参考资料可以去丁香园上找

参考文献:

doi:10.1093/jnci/djv291  Establishment and Validation of Prognostic Nomograms for Endemic Nasopharyngeal Carcinoma

在R中,calibrate函数是rms包中的一个函数,用于绘制logistic回归模型的校正曲线。校正曲线用于评估模型的预测准确性,并显示观测值的平均预测概率与实际发生的事件之间的关系。 下面是使用calibrate函数绘制logistic回归的校正曲线的简单示例: ```R library(rms) # 假设你已经拟合了一个logistic回归模型,命名为"model" # model <- lrm(formula, data) # 使用calibrate函数绘制校正曲线 calibration <- calibrate(model, method = "boot", B = 200) plot(calibration) ``` 上述代码中,你需要先拟合一个logistic回归模型,并将其命名为"model"。然后使用calibrate函数来计算校正曲线,其中method参数指定了计算校正曲线的方法,这里选择了"boot",表示使用自助法(bootstrap)进行计算。B参数指定了bootstrap重采样的次数。 最后,使用plot函数绘制校正曲线形。 绘制完成后,你将会得到一个校正曲线形。该形将显示出观测值的平均预测概率与实际发生事件之间的关系。你可以通过观察曲线是否接近理想的对角线来评估模型的预测准确性。如果曲线与对角线接近,表示模型的预测准确性较好。如果曲线偏离对角线,表示模型存在预测偏差。 此外,你还可以通过观察形中的曲线上的点来获取更多信息。这些点表示不同的预测概率区间,并显示实际发生事件的比例。在理想情况下,这些点应该在对角线上均匀分布。 根据校正曲线的形状和点的分布,你可以进一步解读模型的预测准确性和潜在的偏差。
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值