代码+视频,R语言绘制生存分析模型的时间依赖(相关)性roc曲线和时间依赖(相关)性cindex曲线

ROC曲线分析是用于评估一个因素预测能力的手段,是可以用于连续型变量分组的方法。在生存分析中,疾病状态和因素取值均会随时间发生变化。而标准的ROC曲线分析将个体的疾病状态和因素取值视作固定值,未将时间因素考虑在分析之中。在这种情况下,使用时间依赖性ROC无疑是更好的选择

在这里插入图片描述
今天咱们视频来演示一下时间依赖ROC曲线绘制

R语言绘制生存分析模型的时间依赖(相关)性roc曲线和时间依赖(相关)性cindex曲线

代码

library(survival)
library("survminer")
library(foreign)
#公众号:零基础说科研
#公众号回复:乳腺癌,可以获得这个数据
bc <- read.spss("E:/r/test/Breast cancer survival agec.sav",use.value.labels=F, to.data.frame=T)
bc <- na.omit(bc)
names(bc)
##分类变量转成因子
bc$histgrad<-as.factor(bc$histgrad)
bc$er<-as.factor(bc$er)
bc$pr<-as.factor(bc$pr)
bc$ln_yesno<-as.factor(bc$ln_yesno)f1<-coxph(Surv(time,status)~er+histgrad+pr+age+ln_yesno,bc,x=TRUE,y=TRUE)
f2<-coxph(Surv(time,status)~er+histgrad+ln_yesno,bc,x=TRUE,y=TRUE)
f3<-coxph(Surv(time,status)~ln_yesno,bc,x=TRUE,y=TRUE)library(riskRegression)
A3<- riskRegression::Score(list("f1"=f1),formula=Surv(time,status)~1,data=bc,metrics="auc",null.model=F,times=seq(3,132,1))
plotAUC(A3)
##########
auc<-plotAUC(A3)
ggplot()+geom_line(data=auc, aes(times,AUC),linetype=1,size=1,alpha = 0.6,colour="red")+geom_ribbon(data=auc, aes(times,ymin = lower, ymax = upper),alpha = 0.1,fill="red")+geom_hline(yintercept=1, linetype=2,size=1)+theme_classic()+ labs(title = "时间相关性ROC", x="times", y="AUC")A3<- riskRegression::Score(list("f1"=f1,"f2"=f2),formula=Surv(time,status)~1,data=bc,metrics="AUC",null.model=F,times=seq(3,132,1))
plotAUC(A3)
auc<-plotAUC(A3)
ggplot()+geom_line(data=auc, aes(times,AUC,group=model,col=model))+geom_ribbon(data=auc, aes(times,ymin = lower, ymax = upper,fill=model),alpha = 0.1)+geom_hline(yintercept=1, linetype=2,size=1)+theme_classic()+ labs(title = "时间相关性ROC", x="times", y="AUC")
###########
library(pec)
A1<-pec::cindex(list("f1"=f1),formula=Surv(time,status)~er+histgrad+pr+age+ln_yesno,data=bc,eval.times=seq(3,132,1))
plot(A1)A1<-pec::cindex(list("f1"=f1,"f2"=f2,"f3"=f3),formula=Surv(time,status)~er+histgrad+pr+age+ln_yesno,data=bc,eval.times=seq(3,132,1))
plot(A1)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/4689.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

selenium如何开启手机模式

在Python中使用Selenium进行网页自动化测试或爬取时&#xff0c;如果你想模拟手机模式&#xff08;即移动端浏览器模式&#xff09;&#xff0c;可以通过设置用户代理&#xff08;User-Agent&#xff09;和使用移动端的视口&#xff08;Viewport&#xff09;来实现。以下是一些…

STM32入门_江协科技_1~2_OB记录的自学笔记_STM32简介

1.综述 1.1. 课程简介 手打代码是加入了实操&#xff0c;增加学习效果&#xff1b; STM最小系统板面包板的硬件平台&#xff1b; 配套0.96寸的显示屏&#xff0c;便于调试&#xff1b; 因为使用面板板&#xff0c;所以如果程序现象不出来也有可能是硬件连接的问题&#xff1b; …

Linux 小技巧1

目录 一. 统计文件的总行数二. 获取从第二行开始的内容三. 合并两个文件为一个文件四. 统计指定列唯一值的数量五. 列出文件的绝对路径六. 获取除了空白行和注释之外的部分 一. 统计文件的总行数 ⏹非压缩文件 统计当前文件夹下csv文件的行数 wc -l ./*.csv统计指定文件夹下…

Linux下深度学习虚拟环境的搭建与模型训练

在深度学习实践中&#xff0c;环境配置是十分重要且免不了的一步。本文以 YOLOv4 模型&#xff0c;介绍在Linux下虚拟环境配置到模型训练的过程。 安装Miniconda&#xff1a; Miniconda是Anaconda的一个轻量级版本&#xff0c;非常适合用于科学计算和数据处理。 wget https:…

微信小程序 - 登录(切屏后继续倒计时)

屏幕休眠或后台运行倒计时暂停问题 updateTime: function () {let promise new Promise((resolve, reject) > {var beginTime new Date().getTime();let setTimer setInterval(() > {var newTime new Date().getTime();var dTime (newTime - beginTime) / 1000;dTim…

甘特图是什么?利用甘特图来优化项目管理流程

在现代项目管理中,图表是一种强大而直观的工具,可以帮助项目经理和团队成员清晰地了解并掌控整个项目进程。其中,甘特图是最常用和最有效的图表之一。 甘特图是一种条形图,可以用来直观地展示项目中各个任务的进度、持续时间和相互关系。它由一个横轴和一个纵轴组成。横轴代表时…

基于单片机的多功能电子万年历系统

摘要:该题目要求学生综合运用单片机原理、低频电子线路、数字电路与逻辑设计等相关知识,设计完成多功能电子万年历系统。通过完成设计任务,使学生掌握单片机设计开发的基本流程,增强学生动手实践能力,培养学生分析和解决实际问题的能力,为后续课程的学习和工作打下良好基础。 关…

redis 使用互斥锁或逻辑过期两种方案解决缓存击穿,和缓存穿透(用缓存空值 或布隆过滤器)的解决方案

缓存穿透 缓存穿透是指在缓存中查找一个不存在的值&#xff0c;由于缓存一般不会存储这种无效的数据&#xff0c;所以每次查询都会落到数据库上&#xff0c;导致数据库压力增大&#xff0c;严重时可能会导致数据库宕机。解决方案&#xff1a; 1 缓存空值 (本文此方案) …

【c++】----STL简介string

目录 1. 什么是STL 2. STL的版本 3. STL的六大组件 4.STL的缺陷 5.string类 1. 为什么学习string类&#xff1f; 6.string类的常用接口说明&#xff08;下面我们只讲解最常用的接口&#xff09; 1.string 常见构造 2.string类的遍历 iterator 迭代器遍历 &#xff08;…

初识BootStrap

目录 前言: 1.Bootstrap的特点包括&#xff1a; 1.1响应式设计&#xff1a; 1.2组件丰富&#xff1a; 1.3易于定制&#xff1a; 1.4兼容性良好&#xff1a; 1.5强大的社区支持&#xff1a; 1.6一致的样式和布局&#xff1a; 1.7 插件和扩展性 2.初识Ajax: 2.1同步请求…

CANopen学习笔记

1.CANopen的预定义报文ID分类 CANopen在设计时&#xff0c;对其定义为小网络、控制信号的实时通讯&#xff1a; 报文传输采用CAN标准帧格式。即11bit的ID域&#xff0c;以尽量减小传输时间。网络控制报均采用数据最小字节数。比如心跳报文&#xff0c;只有1个字节数据。实时更…

STM32应用开发教程进阶--Wi-Fi通信(ESP8266模块:STA、AP、STA+AP)

实现目标 1、熟悉Wi-F、ESP8266模块 2、掌握ESP8266模块共3种工作模式&#xff1a;STA、AP、STAAP的配置 3、具体实现目标&#xff1a;&#xff08;1&#xff09;AT固件烧录&#xff1b;&#xff08;2&#xff09;ESP8266模块STA、AP、STAAP的配置 一、Wi-Fi概述 1、Wi-Fi定…

【JavaScript】使用 AbortController 对象中断 fetch 的文本流传输

AbortController 正如我们所知道的&#xff0c;fetch 返回一个 promise。JavaScript 通常并没有“中止” promise 的概念。那么我们怎样才能取消一个正在执行的 fetch 呢&#xff1f;例如&#xff0c;如果用户在我们网站上的操作表明不再需要某个执行中的 fetch。 为此有一个…

【kettle006】kettle访问华为openGauss高斯数据库并处理数据至execl文件

1.一直以来想写下基于kettle的系列文章&#xff0c;作为较火的数据ETL工具&#xff0c;也是日常项目开发中常用的一款工具&#xff0c;最近刚好挤时间梳理、总结下这块儿的知识体系。 2.熟悉、梳理、总结下华为openGauss高斯数据库相关知识体系 3.欢迎批评指正&#xff0c;跪谢…

Spring Boot应用部署 - JAR包Docker部署

JAR包Docker部署 要使用Docker部署Spring Boot应用&#xff0c;需要创建一个Dockerfile来定义如何构建Docker镜像&#xff0c;并且可能还需要在Maven构建脚本中集成Docker插件以简化构建过程。以下是详细的步骤&#xff1a; 1. 创建Dockerfile 在Spring Boot项目的根目录下创…

【实时数仓架构】方法论(未完)

笔者不是专业的实时数仓架构&#xff0c;这是笔者从其他人经验和网上资料整理而来&#xff0c;仅供参考。写此文章意义&#xff0c;加深对实时数仓理解。 实时数仓背景和场景 一、实时数仓架构技术演进 1.1、四种架构演进 1&#xff09;离线大数据架构 一种批处理离线数据分…

胡写乱写哈哈哈

message.from() 获取消息的发送者名称 const bot new Wechaty() .on(message, async message > { //这条消息是谁发送的const contact message.from()//这条消息的文本内容const text message.text()//这条消息是哪个群聊中发送的const room message.room()if (room) {/…

电脑开机后卡在开机LOGO画面如何排查处理

当电脑开机后长时间停滞在开机LOGO画面,无法继续进入操作系统,这一现象常令用户困扰不已。本文将深入探讨导致此类问题的多种可能原因,并提供相应的解决方法,帮助你有效地诊断和排除故障。 硬件故障或接触不良 1. 硬盘问题:硬盘是系统启动的关键组件,其故障或数据线接触…

css如何去掉重叠部分的边框,CSS中nth-child不生效

css如何去掉重叠部分的边框 div使用负的margin&#xff0c;margin-right:-1px&#xff1b;table表格设置边框后的重叠&#xff0c;border-collapse: collapse CSS中nth-child不生效 <body><ul><li><a><span class"item"></span&…

CentOS 删除文件提示 Operation not permitted 的解决方法

1、阿里云服务器提示存在挖矿行为&#xff0c;路径在 /etc/zzh&#xff0c;我们做下删除动作&#xff0c;发现不能删除 [rootMSH etc]# rm -f zzh# 提示 rm: cannot remove ‘zzh’: Operation not permitted2、解决方法&#xff1a; (1)、查看文件权限 [rootMSH etc]# lsat…