欢迎大家关注全网生信学习者系列:
- WX公zhong号:生信学习者
- Xiao hong书:生信学习者
- 知hu:生信学习者
- CDSN:生信学习者2
介绍
ggsurvfit
是一个基于 R 语言的包,它扩展了 survival
包的功能,允许用户使用 ggplot2
的语法来创建美观的生存曲线图。KM曲线,即Kaplan-Meier曲线,是一种非参数统计方法,用于估计生存函数,即在给定时间点生存下来的概率。
ggsurvfit
包
-
美观性:
ggplot2
提供了一种强大的图形语法,可以创建高度定制化和美观的图形。 -
易用性:
ggsurvfit
允许用户利用熟悉的ggplot2
语法来绘制生存曲线,使得图形的创建过程更加直观和简单。 -
扩展性:
ggsurvfit
可以与ggplot2
的其他扩展包一起使用,例如ggpubr
或ggthemes
,以进一步增强图形的表现力。
KM曲线的意义
- 生存分析:KM曲线提供了一种直观的方式来展示生存数据随时间的变化,常用于医学研究中评估患者的生存率。
- 比较生存率:通过比较不同组别的 KM 曲线,可以观察到不同治疗或条件对生存率的影响。
- 非参数方法:KM 方法不需要对生存时间的分布做出任何假设,这使得它适用于各种类型的数据。
如何阅读KM曲线
- 水平轴:通常表示时间,可以是天、月、年等。
- 垂直轴:表示生存概率,即在特定时间点生存下来的概率。
- 曲线下降:曲线的下降表示随着时间的推移,生存概率的减少。
- 曲线的阶梯状:每个台阶代表一个事件发生(例如死亡),曲线在事件发生时下降。
- 比较曲线:如果有多条曲线,可以比较它们以了解不同组别或条件下的生存差异。
加载R包
加载所需要的R包
knitr::opts_chunk$set(message = FALSE, warning = FALSE)
library(ggsurvfit)
library(tidyverse)
library(survival)
library(survminer)
library(gtsummary)
# rm(list = ls())
options(stringsAsFactors = F)
options(future.globals.maxSize = 10000 * 1024^2)
导入数据
使用示例数据
data("df_lung")
head(df_lung)
inst<dbl> | time<dbl> | status<dbl> | age<dbl> | sex<fctr> | ph.ecog<fctr> |
---|---|---|---|---|---|
3 | 10.053388 | 2 | 74 | Male | Symptomatic and ambulatory |
3 | 14.948665 | 2 | 68 | Male | Asymptomatic |
3 | 33.182752 | 1 | 56 | Male | Asymptomatic |
5 | 6.899384 | 2 | 57 | Male | Symptomatic and ambulatory |
1 | 29.010267 | 2 | 60 | Male | Asymptomatic |
12 | 33.577002 | 1 | 74 | Male | Symptomatic and ambulatory |
数据预处理
数据预处理包含以下部分:代码见R可视化:科研绘图之生存KM曲线图
- 因子化分组
- 生存分析提取画图数据(生存概率和风险表)
- 计算风险系数HR和p值
- 计算中位数生存率对应的生存时间
- 汇总生存分析的结果
head(sur_all)
Characteristic<chr> | sex_Male<chr> | sex_Female<chr> | ||
---|---|---|---|---|
1 | No. of patients | sex_Male (n=138) | sex_Female (n=90) | |
2 | Events (% of patients) | 26 (0.19) | 37 (0.41) | |
3 | Median OS, months | 8.9 | 14 | |
4 | P value | 0.001 | 0.001 | |
5 | Hazard ratio | Reference | 0.588 |
画图
生存分析的KM图,代码见R可视化:科研绘图之生存KM曲线图
pl
结果:这张KM图比较了两组数据:男性(8.9个月)和女性(14个月)的生存情况。
- 生存曲线:图中的曲线代表了随时间变化的生存概率。曲线的下降表示在特定时间点有个体死亡或失去生存状态。
- 风险组:图中显示了两组风险组,男性和女性,分别用不同的曲线表示。
- 风险比(Hazard ratio, HR):图中给出的风险比是0.59,这表示在相同的时间点,女性的死亡风险是男性的59%。95%置信区间(0.26-0.92)表示这个估计的不确定性范围,如果置信区间不包含1,通常认为HR有统计学意义。
- P值:P = 0.001,这是一个非常小的P值,通常小于0.05就认为统计结果有显著性,表示男性和女性的生存曲线差异是显著的。
- 风险数量(No. at risk):图中的表格显示了每个时间点每个风险组中剩余的风险个体数量,随着时间的增加,风险数量逐渐减少,因为个体可能死亡或失去生存状态。