前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >R语言生存分析和科研绘图

R语言生存分析和科研绘图

原创
作者头像
生信学习者
修改2024-06-12 07:55:45
1340
修改2024-06-12 07:55:45

欢迎大家关注全网生信学习者系列:

  • WX公zhong号:生信学习者
  • Xiao hong书:生信学习者
  • 知hu:生信学习者
  • CDSN:生信学习者2

介绍

生存分析的目的是分析某个时间点的“生存概率”是多少。基于这样的研究目的,需要提供生存数据,它是一种由不同的开始时间和结束时间组成的事件-时间的数据,比如在癌症研究领域,研究手术到死亡的过程、治疗到疾病进展等等。

在开展生存分析前,需要了解什么是删失(censored)。对于确定的事件,由于其他原因导致其出现无法记录、无法观察等等,这些都可以称为删失。“删失(censored)数据指在观察或试验中,由于人力或其他原因未能观察到所感兴趣的事件发生,因而得到的数据。”

在这里插入图片描述
在这里插入图片描述

图表示10个参与者,在事件为发生前有7位患者出现了删失情况。忽略删失样本会导致生存概率结果出现偏差。生存分析是一种可以适当考虑被删失患者的方法。

生存数据组成

生存数据是有事件状态和对应时间组成,事件状态可以分成发生和删失。

  • 事件时间:$T_i$
  • 删失时间:$C_i$
  • 事件状态:如果观察到事件则是1;否则是删失0。事件时间要小于删失时间。

通过密度分布图可以观察到事件发生和删失状态在时间上的区别,如果不考虑删失则会导致评估结果偏高。

在这里插入图片描述
在这里插入图片描述

某个对象在某个时间点的生存概率公式为:$S(t) = Pr(T > t) = 1- F(t)$

  • $S(t)$是生存函数
  • $F(t) = 1- Pr(T > t)$是累积分布函数

生存分析应用案例

加载R包

导入本教程分析所需要的R包

代码语言:javascript
复制
library(tidyverse)
library(survival)
library(survminer)
library(gtsummary)

# rm(list = ls())
options(stringsAsFactors = F)
options(future.globals.maxSize = 1000 * 1024^2)

# group & color
sex_grp <- c("Male", "Female")
sex_col <- c("#F28880", "#60C4D3")

总结

  • 生存数据很常见,是时间到事件的数据;
  • 需要生存分析技术来解释删失的数据;
  • survival R包提供了生存分析工具,包括Survsurfit函数;
  • survminer R包提供了ggsurvplot函数允许基于ggplot2定制Kaplan-Meier图 ;
  • 组间比较可采用log-rank检验,采用survival::survdiff
  • 单或多变量Cox回归分析可以使用survival::Cox进行。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 介绍
  • 生存数据组成
  • 生存分析应用案例
    • 加载R包
    • 总结
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档