当前位置: 首页 > news >正文

R语言绘制复杂加权数据(nhanes数据)生存分析决策曲线

决策曲线分析(Decision Curve Analysis, DCA)是一种用于评估、比较和优化诊断试验、预测模型或分子标志物临床实用性的统计方法。它由Andrew J. Vickers和Eugene B. Elkin于2006年提出,旨在弥补传统统计指标(如灵敏度、特异度、ROC曲线下面积)在评估模型临床价值方面的不足。

在这里插入图片描述

传统的统计指标主要关注模型的区分度(discrimination) 和 校准度(calibration),但它们无法直接回答一个关键的临床问题:“使用这个模型来指导临床决策,是否能为患者带来净收益(net benefit)?”

决策曲线分析的核心思想正是解决这个问题。它通过模拟在不同阈值概率(threshold probability) 下做出临床决策的过程,来量化模型的临床净收益。

在既往文章,本人介绍了我的ggscidca包,可以用于逻辑回归,生存分析等各种决策曲线绘制,但是据我所知,目前还没有R包能支持复杂加权数据(nhanes数据)生存分析决策曲线,因此本次升级了新版本的ggscidca包添加了nhanes数据生存分析决策曲线功能

下面我来演示一下,使用我自己提取的一个nhanes数据

好的,废话不多说,先导入数据和R包

library(survey)
library(ggscidca)
library(scinhanes)
bc<-read.csv("E:/r/test/nahnesme.csv",sep=',',header=TRUE)
bc <- na.omit(bc)

在这里插入图片描述
我介绍一下数据,SEQN:序列号,RIAGENDR, # 性别, RIDAGEYR, # 年龄,RIDRETH1, # 种族,DMDMARTL, # 婚姻状况,WTINT2YR,WTMEC2YR, # 权重,SDMVPSU, # psu,SDMVSTRA,# strata,LBDGLUSI, #血糖mmol表示,LBDINSI, #胰岛素( pmmol/L),PHAFSTHR #餐后血糖,LBXGH #糖化血红蛋白,SPXNFEV1, #FEV1:第一秒用力呼气量,SPXNFVC #FVC:用力肺活量,ml(估计肺容量),LBDGLTSI #餐后2小时血糖,factor.FVC是我把肺活量分为了2分类,方便用于测试。

把分类变量转成因子

bc$DMDMARTL<-ifelse(bc$DMDMARTL==1,1,0)
bc$RIAGENDR<-as.factor(bc$RIAGENDR)
bc$RIDRETH1<-as.factor(bc$RIDRETH1)
bc$DMDMARTL<-as.factor(bc$DMDMARTL)
bc$oGTT2<-as.factor(bc$oGTT2)

如果做预测模型要拆分成建模集和验证集。我这里拆分一下

set.seed(123)
tr1<- sample(nrow(bc),0.7*nrow(bc))##随机无放抽取
bc_train <- bc[tr1,]#70%数据集
bc_test<- bc[-tr1,]#30%数据集
建立抽样调查函数
bcSvy2<- svydesign(ids = ~ SDMVPSU, strata = ~ SDMVSTRA, weights = ~ WTMEC2YR,nest=TRUE,data = bc_train)

建立生存分析模型

svyfit <- svycoxph(Surv(time, factor.FVC) ~ RIDAGEYR+RIAGENDR+LBDINSI+RIDRETH1, x = TRUE,design = bcSvy2)

绘制复杂加权数据(nhanes数据)决策曲线一共需要2步:
1. 第一步,把模型变成ggscidca包能够识别的类型

fit<-scisvycoxphmodel(svyfit,username=username,token=token)

2. 绘制决策曲线

scidca(fit)

在这里插入图片描述
还可以修饰一下

scidca(fit,threshold.text=T,threshold.line=T)

在这里插入图片描述
如果咱们想看验证集的决策曲线

fit<-scisvycoxphmodel(svyfit,newdata =bc_test,username=username,token=token)
scidca(fit,newdata =bc_test)

在这里插入图片描述
这样就轻松放入把验证集的决策曲线也做出来了,如果咱们按照普通方法来做nhanes的加权cox回归决策曲线看看

#####普通做法
f1<-coxph(Surv(time, factor.FVC) ~ RIDAGEYR+RIAGENDR+LBDINSI+RIDRETH1,bc_train)
scidca(f1,threshold.text=T,threshold.line=T)

在这里插入图片描述
咱们可以看到,加权的和普通的不加权决策曲线无论是阈值还是图形都是有区别的

在这里插入图片描述

http://www.dtcms.com/a/536193.html

相关文章:

  • 常州溧阳建设工程管理中心网站做网站平台的公司
  • 政务领域应用:国密 SSL 证书如何守护 “一网通办” 的数据安全?
  • LM实现教程:基于 nanochat项目 从零开始理解大语言模型
  • 【南京大学主办】第三届数学与机器学习国际学术会议(ICMML 2025)
  • 淮北市建设局网站福建省住房和城乡建设局网站
  • 无锡企业网站龙岩kk网最新招聘
  • 告别纸张,迎接更加高效的文档管理——Paperless-ngx介绍
  • 题解:P14309 【MX-S8-T2】配对
  • SQL之表的增删
  • 【计算机网络核心】TCP/IP模型与网页解析全流程详解
  • HTML 理论系统笔记2
  • 微软Copilot被用于窃取OAuth令牌,AI Agent成为攻击者帮凶
  • 免费网站建站w海口企业自助建站
  • 全球 PyTorch 大会与 Triton 大会释放强信号:算子语言繁荣和分化背后,编译器核心地位日益凸显
  • PyCharm 快速运行 django project
  • 自己动手制作网站外呼电销系统
  • 网站建设出错1004有专门下载地图做方案的网站吗
  • OpenCV C++ 中,访问图像像素三种常用方法
  • MATLAB基于小波云模型时间序列预测,以年径流预测为例
  • 项目名称:烟酒进销存管理系统
  • web开发,在线%蛋糕销售%管理系统,基于asp.net,webform,c#,sql server
  • UE5 蓝图-25:主 mainUI界面蓝图,右侧的颜色按钮的实现,换色逻辑与材质参数集,
  • 腾讯优图开源Youtu-Embedding通用文本表示模型,用处在哪?
  • parser_error UnicodeDecodeError: ‘utf-8‘ codec can‘t decode bytes
  • 慕课网站开发wordpress 当前页面登录密码
  • 从零学习 Agentic RL(四)—— 超越 ReAct 的线性束缚:深入解析 Tree-of-Thoughts (ToT)
  • 宁德城乡建设网站首页无法删除wordpress
  • Spring Boot3零基础教程,天气 API 测试,笔记73
  • 基于 STM32 的智能语音唤醒与关键词识别系统设计 —— 从硬件集成到算法实现
  • Redis数据库基础命令