这里有一份示例数据,是NHLBI(美国国家心肺血液研究所)的Framingham心脏研究专项数据集的一个子集,4000多个样本。

自变量分别为性别(sex)、收缩压(sbp)、舒张压(dbp)、血清胆固醇(scl)、年龄(age)、身体质量指数(bmi)等,因变量为冠心病相关死亡事件(chdfate)。因变量必须是二元变量,随访时间内死亡为1,未死亡为0。

一个是简单模型,以血清胆固醇值为预测方法(predictor),死亡事件为结果(outcome);另一个是复合模型,联合性别、年龄、BMI、血清胆固醇、收缩压、舒张压为预测方法,死亡事件为结果。

#安装软件
install.packages("DecisionCurve")
#导入软件
library(DecisionCurve)
#设置路径
setwd("~/Desktop/cancerlab/file")
#导入文件
Data<- read.csv('2.20.Framingham.csv',sep = ',')
#使用函数建立模型
simple<- decision_curve(chdfate~scl,data = Data, family = binomial(link ='logit'),thresholds= seq(0,1, by = 0.01), confidence.intervals =0.95,study.design = 'case-control',population.prevalence = 0.3)
#decision_curve()函数中,family =binomial(link = ‘logit’)是使用logistic回归来拟合模型。threshold设置横坐标阈概率的范围,一般是0 ~ 1;但如果有某种具体情况,大家一致认为Pt达到某个值以上,比如40%,则必须采取干预措施,那么0.4以后的研究就没什么意义了,可以设为0 ~ 0.4。by是指每隔多少距离计算一个数据点。

可见,在Pt约为0.1~0.5范围内,复合评价模型的净受益率都比简单模型高。
complex<- decision_curve(chdfate~scl+sbp+dbp+age+bmi+sex,data = Data,family = binomial(link ='logit'), thresholds = seq(0,1, by = 0.01),confidence.intervals= 0.95,study.design = 'case-control', population.prevalence= 0.3)
summary(complex)
List<- list(simple,complex)plot_decision_curve(List,curve.names= c('simple','complex'),cost.benefit.axis =FALSE,col = c('red','blue'),confidence.intervals =FALSE,standardize = FALSE)

# 使用simple模型预测1000人的风险分层,显示“损失:受益”坐标轴,赋以8个刻度,显示置信区间,得到下图:
plot_clinical_impact(simple,population.size = 1000,cost.benefit.axis = T, n.cost.benefits= 8,col = c('red','blue'), confidence.intervals= T)

#红色曲线(Numberhigh risk)表示,在各个阈概率下,被simple模型划分为阳性(高风险)的人数;蓝色曲线(Number high risk with outcome)为各个阈概率下真阳性的人数。

转载:解螺旋·临床医生科研成长平台

转载于:https://www.cnblogs.com/qiniqnyang/p/7001484.html

DecisionCurve决策曲线分析法相关推荐

  1. Python - matplotlib - 决策曲线分析(Decision Curve Analysis)

    文章目录 一.决策曲线分析概念 1. 阈值概率 2. 净获益 二.matplotlib实现 1. 计算模型带来的净获益 2. 计算treat all策略带来的净获益 3. 绘制决策曲线 三.完整代码 ...

  2. R语言自定义变成进行决策曲线分析DCA曲线绘制(Decision Curve Analysis)

    R语言自定义变成进行决策曲线分析DCA曲线绘制(Decision Curve Analysis) 我们可能使用别的语言获得了机器学习模型以及对应的预测概率和标签,我们想直接使用这些信息进行DCA曲线的 ...

  3. 翻译:如何在多因素影响下做出正确的决策--层次分析法

    **层次分析法(AHP)是一种比较实用的决策方法.在实际情况中我们可能需要考虑问题所涉及的多个因素,这导致我们很难做出清晰的判断.AHP帮助我们结构化和量化的来思考这些因素,做出合理的决策.除此,AH ...

  4. 生存资料决策曲线分析DCA

    本文首发于公众号:医学和生信笔记 " 医学和生信笔记,专注R语言在临床医学中的使用,R语言数据分析和可视化.主要分享R语言做医学统计学.meta分析.网络药理学.临床预测模型.机器学习.生物 ...

  5. 适用于一切模型的决策曲线分析DCA

    本文首发于公众号:医学和生信笔记 " 医学和生信笔记,专注R语言在临床医学中的使用,R语言数据分析和可视化.主要分享R语言做医学统计学.meta分析.网络药理学.临床预测模型.机器学习.生物 ...

  6. 决策曲线 Decision Curve

    本文转自:决策曲线分析法(Decision Curve Analysis,DCA) 简介 评价一种诊断方法是否好用,一般是作ROC曲线,计算AUC.但是,ROC只是从该方法的特异性和敏感性考虑,追求的 ...

  7. DCA决策曲线的解读和代码实现

    0.决策曲线 决策曲线分析法(Decision Curve Analysis,DCA)是个与ROC曲线相提并论的相对比较新的模型评价方法. 关于它的原理,长篇大论的医学统计学知识解读实在不是我的强项, ...

  8. Topic 15. 临床预测模型之决策曲线 (DCA)

    点击关注,桓峰基因 桓峰基因 前言 DCA (Decision Curve Analysis) 是一种评估临床预测模型.诊断试验和分子标记物的简单方法.传统的诊断试验指标如:敏感性,特异性和ROC曲线 ...

  9. 手把手教你使用R语言制作临床决策曲线

    DCA(Decision Curve Analysis)临床决策曲线是一种用于评价诊断模型诊断准确性的方法,在2006年由AndrewVickers博士创建,我们通常判断一个疾病喜欢使用ROC曲线的A ...

最新文章

  1. YOLOv5在最新OpenVINO 2021R02版本的部署与代码演示详解
  2. 【k8s最容易理解的科普】到底是什么 用处是什么
  3. (Alex note) Create a oracle database
  4. Pytorch之深入理解torch.nn.Parameter()
  5. UCOS源码剖析 (一)
  6. kill -0 pid是做什么用的?
  7. 中断共享(硬件角度)
  8. 大数据-如何在Docker上使用Hadoop
  9. 等保数据备份和恢复关键点,这些你该知道!
  10. 如何从Mac OS X连接 ×××
  11. c++ STL模板(一)
  12. i5功耗最低的cpu_探寻低电压CPU性能 i5-3330S对比测试
  13. Kotlin教程,从入门到精通
  14. 2022 WordPress Tongleer 仿微博社交主题模板
  15. C语言电话簿程序设计,2010电话簿管理程序-c语言程序设计-毕业论文.doc
  16. 通过if分支结构计算个人所得税
  17. ds3617xs 华擎J3455 无线网卡m.2 E key接口扩展2个M.2 E key接口
  18. 信息技术重返MBA课程
  19. 字符串关键字的散列映射
  20. C语言 输入成绩按成绩输出等级

热门文章

  1. 华为od统一考试B卷【连续出牌数量】C++ 实现
  2. SpringBoot如何自定义启动的Banner 在线生成SpringBoot启动的Banner工具 如何使用在线生成工具生成的SpringBoot的Banner
  3. windows中Appium-desktop配合安卓模拟器的完美使用
  4. 百度地图海量点位渲染造成卡顿问题解决
  5. 任务调度:全网最全 xxl-job任务触发流程
  6. 基于springboot的在线小说阅读平台设计与实现-计算机毕业设计源码+LW文档
  7. windows socket相关接口整理
  8. 对自己狠一点-----胡言乱语
  9. 【精选】表情包斗图小程序(可引流,开通流量主,权益外卖cps,带pc后台管理)
  10. 智慧公厕解决方案,光明源智慧公厕解决方案全解