R可视化:科研绘图之生存KM曲线图

2024-06-18  本文已影响0人  生信学习者2

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

Snipaste_2024-06-19_13-44-07.png

介绍

ggsurvfit 是一个基于 R 语言的包,它扩展了 survival 包的功能,允许用户使用 ggplot2 的语法来创建美观的生存曲线图。KM曲线,即Kaplan-Meier曲线,是一种非参数统计方法,用于估计生存函数,即在给定时间点生存下来的概率。

ggsurvfit

  1. 美观性ggplot2 提供了一种强大的图形语法,可以创建高度定制化和美观的图形。
  2. 易用性ggsurvfit 允许用户利用熟悉的 ggplot2 语法来绘制生存曲线,使得图形的创建过程更加直观和简单。
  3. 扩展性ggsurvfit 可以与 ggplot2 的其他扩展包一起使用,例如 ggpubrggthemes,以进一步增强图形的表现力。

KM曲线的意义

  1. 生存分析:KM曲线提供了一种直观的方式来展示生存数据随时间的变化,常用于医学研究中评估患者的生存率。
  2. 比较生存率:通过比较不同组别的 KM 曲线,可以观察到不同治疗或条件对生存率的影响。
  3. 非参数方法:KM 方法不需要对生存时间的分布做出任何假设,这使得它适用于各种类型的数据。

如何阅读KM曲线

  1. 水平轴:通常表示时间,可以是天、月、年等。
  2. 垂直轴:表示生存概率,即在特定时间点生存下来的概率。
  3. 曲线下降:曲线的下降表示随着时间的推移,生存概率的减少。
  4. 曲线的阶梯状:每个台阶代表一个事件发生(例如死亡),曲线在事件发生时下降。
  5. 比较曲线:如果有多条曲线,可以比较它们以了解不同组别或条件下的生存差异。

加载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曲线图

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
Snipaste_2024-06-19_13-44-07.png

结果:这张KM图比较了两组数据:男性(8.9个月)和女性(14个月)的生存情况。

上一篇 下一篇

猜你喜欢

热点阅读