生存分析KM与cox

       

生存分析(survival analysis)是研究生存时间和结局事件的分布及其影响因素的统计方法。在生存分析中,生存函数(survival function)S(I)用于刻画某个时刻t的研究对象存活的概率,风险函数(hazard function)h(A)用于度量在某个时刻t还存活的个体在极短的时间内死亡的风险。

        删失点:对于随访结束没有发生结局事件的研究对象,最后的状态称为“删失”(censoring)。例如在癌症治疗的试验中,有些患者失去了联系,或者他们的生存时间长于试验的研究期,这时我们无法获得这部分患者真正的生存时间。这种删失叫右删失(rightcensoring),在生存分析中是最常见的。此外还有左删失(left censoring),指生存时间小于某一时间段;区间删失(interval censoring),指生存时间在某一段时间之内。如果在分析中忽略删失数据,将很可能得到偏倚的结果。

生存对象        

        在生存分析中,每个研究对象的结局变量由“time”(时间)和“event”(事件)组成。若用数字表示,结局事件发生为1,否则为0。在survival包中用函数Surv()生成,它是将生存时间(time)和事件(event)合并在一起的一种数据结构。

rm(list = ls())
library(survival)
library(survminer)
ovarian <- ovarian

futime随访时间;变量fustat是患者在研究截止时的状态:0表示存活,1表示死亡。其他变量包括age(患者的年龄)、resid.ds(疾病残留情况:1表示没有残留,2表示有残留)、rx(治疗方法:1表示环磷酰胺,2表示环磷酰胺加阿霉素)和ecog.ps(患者的ECOG评分:1表示较好,2表示较差)。

注意  hist(ovarian$age)##年龄的分布不是对称的。考虑到结果的易解释性,这里把变量age转换成因子。

对象查看:

##年龄转换为因子
ovarian$agegr <- cut(ovarian$age,breaks=c(0,50,75),labels = c("<=50",">50"))#以50 分界surv1 <- Surv(time =ovarian$futime,event =ovarian$fustat  )
surv1[1]   59   115   156   421+  431   448+  464   475   477+  563   638   744+
[13]  769+  770+  803+  855+ 1040+ 1106+ 1129+ 1206+ 1227+  268   329   353 
[25]  365   377+

解释:“+”号表示删失数据。例如,第4个值“421+”表示这个患者并未在421天死于卵巢癌,只是没有继续随访(可能是由于研究结束、失访、死于其他原因等)。

KM

生存率估计
surv1 <- Surv(time =ovarian$futime,event =ovarian$fustat  )
surv1
##KM 生存率估计与生存曲线
survfit(surv1~1)#没有自变量的情况下Call: survfit(formula = surv1 ~ 1)n events median 0.95LCL 0.95UCL
[1,] 26     12    638     464      NAplot(surv1,mark.time=T,conf.int=F)

删失数据为“+”

生存率比较

可以通过在函数survfit()的公式中增加一个因子变量来获得该变量不同水平下的生存信息。

survrx <- survfit(surv1~rx,data = ovarian)
summary(survrx)#结果查看
ggsurvplot(survrx,data =ovarian,pval = T )

时序检验(log rank test)

治疗方法“2”(环磷酰胺加阿霉素)的生存率高于治疗方法“1”(环磷酰胺)。但这种差异是偶然的还是由治疗方法的不同引起的,需要进行统计学检验。其中最常用的是时序检验(log rank test),其基本思想是先计算出不同时间两种治疗方法的暴露人数和死亡人数,并由此在两种治疗方法效果相同的假设下计算出期望死亡人数,如果不拒绝零假设,则实际观测值和期望值的差异不会很大,如果差异过大则不能认为是由随机误差引起的差异。对此,用 检验作判断。时序检验可以用函数survdiff()来实现。

##查看log rank P
survdiff(surv1~rx,data = ovarian)Call:
survdiff(formula = surv1 ~ rx, data = ovarian)N Observed Expected (O-E)^2/E (O-E)^2/V
rx=1 13        7     5.23     0.596      1.06
rx=2 13        5     6.77     0.461      1.06Chisq= 1.1  on 1 degrees of freedom, p= 0.3 

COX

cox回归模型
rm(list = ls())
library(survival)
library(survminer)
ovarian <- ovarian
ovarian$agegr <- cut(ovarian$age,breaks=c(0,50,75),labels = c("<=50",">50"))#以50 分界surv1 <- Surv(time =ovarian$futime,event =ovarian$fustat  )
cox1 <- coxph(surv1~rx+resid.ds+agegr+ecog.ps,#cox分析对象data = ovarian)
summary(cox1)
Call:
coxph(formula = surv1 ~ rx + resid.ds + agegr + ecog.ps, data = ovarian)n= 26, number of events= 12 coef exp(coef) se(coef)      z Pr(>|z|)  
rx       -1.3814    0.2512   0.6448 -2.142   0.0322 *
resid.ds  1.4470    4.2503   0.7292  1.984   0.0472 *
agegr>50  2.2013    9.0368   1.1069  1.989   0.0467 *
ecog.ps   0.5859    1.7966   0.6329  0.926   0.3546  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1exp(coef) exp(-coef) lower .95 upper .95
rx          0.2512     3.9803    0.0710    0.8891
resid.ds    4.2503     0.2353    1.0180   17.7453
agegr>50    9.0368     0.1107    1.0324   79.1031
ecog.ps     1.7966     0.5566    0.5197    6.2113Concordance= 0.782  (se = 0.065 )
Likelihood ratio test= 12.19  on 4 df,   p=0.02
Wald test            = 9.02  on 4 df,   p=0.06
Score (logrank) test = 11.97  on 4 df,   p=0.02

结果表明在多变量cox分析模型中:rx治疗方法有生存差异

进行多变量的选择
drop1(cox1,test ="Chisq")
Single term deletionsModel:
surv1 ~ rx + resid.ds + agegr + ecog.psDf    AIC    LRT Pr(>Chi)  
<none>      65.775                  
rx        1 68.489 4.7134  0.02993 *
resid.ds  1 68.377 4.6016  0.03194 *
agegr     1 69.939 6.1641  0.01304 *
ecog.ps   1 64.658 0.8828  0.34744  ##需要去除
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
step()基于AIC值进行变量选择
step.cox <- step(cox1)

选择AIC值最小的模型(这个模型里也没有ecog.ps

surv1 ~ rx + resid.ds + agegrDf    AIC
<none>        64.658
- resid.ds  1 66.452
- rx        1 66.945
- agegr     1 68.537



R语言生存分析:Cox回归_r语言cox回归分析_医学和生信笔记的博客-CSDN博客

用更简单的方式画森林图_add_underline属于哪个r包-CSDN博客

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

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

相关文章

如何练好太极拳?

太极拳是一种需要细心和耐心的武术&#xff0c;要练好太极拳&#xff0c;需要从以下几个方面入手&#xff1a; 找到好的师傅&#xff1a;找到一位经验丰富、技艺高超的师傅是学习太极拳的关键。师傅应该具备正确的太极拳理论、技术和经验&#xff0c;能够正确地指导学生学习太极…

leetcode刷题详解十三

452. 用最少数量的箭引爆气球 思路&#xff1a; 我们就根据上图这个例子来分析一下&#xff1a; 气球1和气球2是重叠的&#xff0c;需要一个箭&#xff0c;然后我们分析气球3当气球1和气球2重叠的时候可以看到&#xff0c;气球1和气球2的空间应该合并成[2,6]然后再和气球3作比…

进阶C语言-字符函数和字符串函数

字符函数和字符串函数 &#x1f388;1.函数介绍&#x1f50e;1.1strlen函数&#x1f52d;1.1.1strlen函数的模拟实现&#x1f4d6;1.计数器法&#x1f4d6;2.递归法&#x1f4d6;3.指针-指针 &#x1f50e;1.2strcpy函数&#x1f52d;1.2.1strcpy函数的模拟实现 &#x1f50e;1…

Windows系统IIS服务配置与网站搭建,结合内网穿透实现公网访问

文章目录 1.前言2.Windows网页设置2.1 Windows IIS功能设置2.2 IIS网页访问测试 3. Cpolar内网穿透3.1 下载安装Cpolar内网穿透3.2 Cpolar云端设置3.3 Cpolar本地设置 4.公网访问测试5.结语 1.前言 在网上各种教程和介绍中&#xff0c;搭建网页都会借助各种软件的帮助&#xf…

PyQt6第一个程序HelloWorld实现

锋哥原创的PyQt6视频教程&#xff1a; 2024版 PyQt6 Python桌面开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili2024版 PyQt6 Python桌面开发 视频教程(无废话版) 玩命更新中~共计12条视频&#xff0c;包括&#xff1a;2024版 PyQt6 Python桌面开发 视频教程(无废话版…

1+x中级网络运维实验题

任务 1&#xff1a; 设备命名 为了方便后期维护和故障定位及网络的规范性&#xff0c;需要对网络设备进行规范化命名。请根据 Figure 3-1 实验考试拓扑对设备进行命名。命名规则为&#xff1a;城市-设备的设置地点-设备的功能属性和序号-设备型号。例如&#xff1a;处于杭州校…

河涌空中、地面双联动巡防系列--下沙涌篇

“广州街坊空中巡防队”是第十届志愿服务广州交流会青年志愿服务专项行动精品项目大赛资助项目&#xff0c;由广州市志愿者行动指导中心、广州市羊城志愿服务基金会主办&#xff0c;广州市黄埔区平安促进会承办。 在党建引领下&#xff0c;对黄埔区辖区内针对河涌开展空中安全巡…

低功耗无线SOC芯片Si24R03

Si24R03是一款高度集成的低功耗无线SOC芯片&#xff0c;芯片为QFN32 5x5mm封装&#xff0c;集成了资源丰富的MCU内核与2.4G收发器模块&#xff0c;最低功耗可达1.6uA&#xff0c;极少外围器件&#xff0c;大幅降低系统应用成本&#xff0c;同时配套有成熟的开发调试软件和丰富的…

asp.net基于WEB层面的区域云LIS系统平台源码

随着计算机技术在检验管理方面的广泛应用&#xff0c;以及各种先进的检验仪器在检验医学领域的使用,检验科室对信息化管理提出了更高的要求。正是在这样的背景下开发出了实验室信息管理系统&#xff08;简称LIS&#xff09; 结合当今各检验科管理及实验室规模的不同状况&#x…

多媒体信号处理复习笔记 --脑图版本

多媒体信号处理复习笔记 --脑图版本 依据 [2020多媒体信号处理复习笔记] 考前复习时使用Xmind制作 例图: PDF下载 BaiduYunPan 提取码&#xff1a;jbyw CSDN 下载

广州华锐视点提供AI虚拟主播定制,为品牌注入新活力!

随着科技的飞速发展&#xff0c;人工智能已经逐渐渗透到我们生活的方方面面。在这个信息爆炸的时代&#xff0c;如何让您的品牌在众多竞争对手中脱颖而出&#xff0c;成为行业的佼佼者&#xff1f;答案就是——AI虚拟主播&#xff01; 广州华锐视点提供AI数字人定制服务&#x…

快手自动评论助手:开发流程与所需技术的深度解析

先来看实操成果&#xff0c;↑↑需要的同学可看我名字↖↖↖↖↖&#xff0c;或评论888无偿分享 一、引言 随着互联网的发展&#xff0c;越来越多的人开始使用快手这款短视频平台。在这个平台上&#xff0c;用户可以分享自己的生活点滴&#xff0c;观看他人的精彩瞬间。然而&am…