从本篇开始,学堂将推出《生存分析(survival analysis)》系列推文,本篇的内容是生存曲线(survival curve),它描述的是生存率随时间变化的走势图,通常呈阶梯状递减趋势。生存曲线可以直接从生存数据(survival data)中计算得来,它也是进行生存分析的基础。

本系列使用的主要工具包是survival

library(survival)

本篇目录如下:

  • 1 概念与术语

    • 1.1 主体

    • 1.2 事件、生存时间

    • 1.3 删失

    • 1.4 生存数据

    • 1.5 风险集

  • 2 生存曲线(Ⅰ)

    • 2.1 Kaplan-Meier曲线

    • 2.2 手动计算生存率

    • 2.3 survfit函数计算生存率

    • 2.4 绘制生存曲线

1 概念与术语

在介绍生存曲线之前,先介绍几个与生存分析相关的概念与术语,以方便后文表述。

1.1 主体

其实这个算不上专业术语,只是学堂君在阅读英文文献时在这踩了坑,所以记录一下。它对应的英文是subject,学堂君一度将它翻译成“主题”,认为类似于研究事件,但是发现有很多地方读不通,最后才反应过来应该是“主体”,也就是受访者或者说样本。

1.2 事件、生存时间

生存分析是一种时间事件分析(time to event analysis),关注的是“事件”对于“主体”所发生的“时间点”。生存时间(survival time)是指主体从进入“风险”(risk)期直至“死亡”(death)的持续时间。在这里,“死亡”只是一个具体化的描述,可以泛指一切研究事件(event)的结果,事件发生即表示主体“死亡”。由于一些事件可以重复发生,如住院等,因此主体是可以多次“死亡”的。

1.3 删失

“删失”对应的英文是censoring。删失样本是指在受试期(不等同于研究期)结束后仍未“死亡”的主体,属于不完整数据(incomplete data)或删失数据(censoring data)。删失数据是研究数据的重要组成部分,不能直接删除,它对生存率的计算有直接的影响,2.2节会具体阐述。常见的删失有下面几种情况:

  • 右删失

右删失(right censored)属于正常删失,是指研究期结束了,但主体仍为“死亡”的情况。主体未中途退出受访,其受访期结束是由研究者决定结束访问导致的,符合研究者的意愿。

  • 左删失

左删失(left censored)是指受访者由于自身原因,并在未“死亡”的情况下中途退出受访,导致研究者无法得到其“死亡”时间的情况。

  • 区间删失

区间删失(interval censored)是指由于研究者不能连续访问,而只能在几个离散的时间点进行访问,导致只知道受试者“死亡”的时间区间范围,而不知道具体时间的情况。

1.4 生存数据

生存数据(survival data)拥有特定的格式,因事件类型和事件发生次数而异,如单类型单事件、单类型多事件、多类型单事件、多类型多事件。其中,单类型单事件是最“古典”(classic)的生存分析,它对应的生存数据常用(, )对表示,其中表示主体标识,表示时间点,为0/1变量,其中0表示主体删失,1表示主体“死亡”。

survival工具包中的ovarian是一个示例数据:

head(ovarian)##   futime fustat     age resid.ds rx ecog.ps
## 1     59      1 72.3315        2  1       1
## 2    115      1 74.4932        2  1       1
## 3    156      1 66.4658        2  1       2
## 4    421      0 53.3644        2  2       1
## 5    431      1 50.3397        2  1       1
## 6    448      0 56.4301        1  1       2data <- ovarian

其中,futime对应,fustat对应,其余为协变量。数据的第一行表示主体#1在时“死亡”;第四行表示主体#4在时删失。

1.5 风险集

风险集(risk set)是计算生存率(survival probability)的关键指标。使用表示主体在时间时仍处于受访状态,也称处于“风险”状态;当主体在时“死亡”或删失时,则为该主体受访的最后时间点(endpoint),即而。那么时处于风险状态的人数,即风险集就是,包括在时仍然存活的主体和刚好“死亡”或删失的主体。

另外,使用表示刚好在时“死亡”的人数。由于删失样本的存在,当期风险集减去当期死亡数并不一定等于下期风险集,即。

survival | 生存分析(1):生存曲线(上)相关推荐

  1. 生存分析——KM生存曲线、hazard比例、PH假定检验、非比例风险模型(分层/时变/参数模型)(二)

    文章目录 1 数据类型 1.1 删失数据 1.1.1 右删失 1.1.2 左删失 1.1.3 区间删失 1.2 完全数据(Complete data) 2 生存分析几个核心概念 2.1 生存概率 2. ...

  2. 生存分析及生存曲线_2021-01-30

    生存分析(英文:Survival Analysis),是生物信息学分析中常用到的一种重要方法,主要分析场景如:不同组癌症病人在一种或者一种以上的变量作用下其生存概率随着记录时间发展而发生的变化或者走势 ...

  3. php 算生存曲线,生存分析之生存曲线绘制

    本文只涉及到生存曲线绘制,不涉及生存分析理论问题 本文采用两种方法绘制生存曲线,其实是用plot()和ggsurvplot()两种函数绘图而已 1. plot()函数绘制生存曲线 基本流程 Surv( ...

  4. survival | 生存分析(3):生存曲线(下)

    前两篇推文完成了对单类型事件分析的介绍,本篇将介绍多类型事件情况下的分析. 第一部分介绍多类型单事件.这种情况下,虽然事件类型有多种,但每个主体只对应一种事件结果或删失,又称竞争风险(competin ...

  5. survival | 生存分析(5):加速失效时间模型(Accelerated Failure Time Model)

    本篇来介绍另外一种生存模型:加速失效时间模型(Accelerated Failure Time Model,AFT模型).AFT模型是对生存时间进行建模的.它常使用在工业领域,如研究零件寿命受温度的影 ...

  6. python生存曲线_用户行为与生存分析

    生存分析的来历 生存分析(Survival Analysis)来源于基础医学领域,最早用来研究各种治疗方案对病人寿命的影响.而寿命则用一个end event(死亡)的方式衡量.基本定义如下: T为标记 ...

  7. R语言构建生存分析(survival analysis)模型示例

    R语言构建生存分析(survival analysis)模型示例 生存分析处理的是预测特定事件将要发生的时间.它也被称为失败时间分析或死亡时间分析.例如,预测癌症患者存活的天数,或者预测机械系统将要失 ...

  8. 生存分析绘图——Kaplan-Meier生存曲线

    讲原理,方法: 生存分析 简明教程 | Kaplan-Meier | Cox 比例风险回归模型 | 教程推荐在生物医学研究中, 生存分析 是非常重要和常见的分析方法.本文对生存分析中的,Kaplan– ...

  9. 生存分析——快手的基于深度学习框架的集成⽣存分析软件KwaiSurvival(一)

    看到快手这篇文章,还开源了他们的KwaiSurvival,上手试了试: KwaiSurvival 是快⼿DA⾃主开发的基于深度学习框架的集成⽣存分析软件,帮助使⽤者在 Python编程环境下⾼效地使⽤ ...

最新文章

  1. jsp实现邮件的发送
  2. REST、RESTful 与 RESTful API
  3. 删除高频分量matlab,关于FFT之后怎么提出该频率分量
  4. 更改ubuntu的mysql版本为指定版本
  5. 关于自己的ES6使用姿势
  6. 代码调试技巧【OI缩水版】
  7. AMD、CMD和Common规范
  8. DataBase -- JOIN
  9. Atitit 个人 企业 政府 等组织 财政收入分类与提升途径attilax总结 v2
  10. python模拟网页上传文件_python模拟网页上传文件
  11. input层级高 小程序_解决微信小程序input、textarea层级过高穿透问题
  12. 闲人闲谈PS之十五——合同、项目、WBS的关系
  13. RTX3060安装pytorch
  14. 国潮席卷!这家高端酒店品牌推出以唐风宋韵为基础的“新国风”酒店
  15. 智能PID软件-AVEVA Diagrams 快速复制流程图【图瓦软件出品】
  16. 论文阅读: [3d]Audio-driven Talking Face Video Generation with Learning-based Personalized Head Pose
  17. Orange pi GPIO输出控制,裸机点灯大法(二)!
  18. HBase的一点纪要
  19. 使用Postfix和Dovecot部署邮件系统
  20. 千锋教育python怎么样_深圳千锋的python怎么样

热门文章

  1. 超市销售数据分析python_python实战案例:超市营业额数据分析
  2. 上海远丰:打破双11魔咒,让企业电商两条腿走路
  3. html 限制每行字数,毕业论文每行字数的设置
  4. spring tx:advice事务配置
  5. spring tx:advice 和 aop:config 配置事务 1
  6. python-InputWhile基础知识
  7. dw1000精度调节记录1
  8. 微信小程序—修改日期
  9. 8086的两种工作模式_8086系统中最小模式与最大模式两种工作方式的主要区别是什么?...
  10. nodejs怎么看安装成功_教你怎么用XBOX ONE安装KODI看4K蓝光电影,并实现PC局域网共享...