当前位置:   article > 正文

R语言:利用survminer包实现生存分析及可视化

survminer

总述

survminer包是生物信息学中实现生存分析曲线绘制最常用的包,包含函数ggsurvplot(),还可使用ggplot2. ggsurvplot() 轻松绘制美观并且格式工整的生存曲线。同时还能给出p值,风险值等参数。

下载和安装

install.packages("survminer")
  • 1

或者,也可以选择从GitHub上安装

if(!require(devtools)) install.packages("devtools")
devtools::install_github("kassambara/survminer")
  • 1
  • 2

加载安装好的包

library("survminer")
  • 1

单一组别生存曲线的绘制

#调用生存曲线中另一常用的survival包
require("survival")
#survival包自带肺癌数据集:lung,查看数据样式
head(lung)
#survival包中的Sruv函数可以创建一个生存对象
fit <- survfit(Surv(time, status) ~ 1, data = lung)
#survival包中的survfit函数用Kaplan-Meier法进行生存曲线的拟合
ggsurvplot(fit, color = "#2E9FDF")
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

在这里插入图片描述

两组生存曲线的绘制

  • 基本方法

require("survival")
fit<- survfit(Surv(time, status) ~ sex, data = lung)
ggsurvplot(fit)
  • 1
  • 2
  • 3

在这里插入图片描述

改变文字大小,字体和颜色

  • 只改变字号
title = “Survival curve”设置标题
font.main标题字体大小
font.xx轴标注字体大小
font.yy轴标注字体大小
font.tickslab坐标轴数字大小
ggsurvplot(fit, title = "Survival curve",
   font.title = 18,
   font.x =  16,
   font.y = 16,
   font.tickslab = 14)
  • 1
  • 2
  • 3
  • 4
  • 5

在这里插入图片描述

  • 同时改变文字大小,字体和颜色
  • c([字号],[字体],[颜色])
  • 括号中的任意一项可以省略,但是顺序不能改变
ggsurvplot(fit, title = "Survival curve",
   font.title = c(16, "bold", "darkblue"),
   font.x = c(14, "bold.italic", "red"),
   font.y = c(14, "bold.italic", "darkred"),
   font.tickslab = c(12, "plain", "darkgreen"))
  • 1
  • 2
  • 3
  • 4
  • 5

在这里插入图片描述

改变图例位置,图例标题和图例名称

ggsurvplot(fit, legend = "bottom", 
           legend.title = "Sex",
           legend.labs = c("Male", "Female"))
  • 1
  • 2
  • 3

在这里插入图片描述

  • 图例的位置可以任意改变
ggsurvplot(fit, legend = c(0.2, 0.2))
  • 1

在这里插入图片描述

改变曲线类型和颜色

ggsurvplot(fit,  size = 1,  # 改变曲线的尺寸
           linetype = "strata", # 改变曲线的类型
           break.time.by = 250, # 更改x轴的时间间隔
           palette = c("#E7B800", "#2E9FDF"), # 自定义调色板
           conf.int = TRUE, # 添加置信区间
           pval = TRUE # 添加p值
           )
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

在这里插入图片描述

  • 改成灰色调
ggsurvplot(fit, linetype = "strata", 
           conf.int = TRUE, pval = TRUE,
           palette = "grey")
  • 1
  • 2
  • 3

在这里插入图片描述

添加风险表

  • 添加risk table并改变y轴文字的颜色
ggsurvplot(fit, pval = TRUE, conf.int = TRUE,
           risk.table = TRUE, risk.table.y.text.col = TRUE)
  • 1
  • 2

在这里插入图片描述

  • 自定义输入、输出
res <- ggsurvplot(fit, pval = TRUE, conf.int = TRUE,
           risk.table = TRUE)
res$table <- res$table + theme(axis.line = element_blank())
res$plot <- res$plot + labs(title = "Survival Curves")
print(res)
  • 1
  • 2
  • 3
  • 4
  • 5

在这里插入图片描述

扩大x轴的坐标范围

ggsurvplot(fit, 
           pval = TRUE, conf.int = TRUE,
           risk.table = TRUE, 
           risk.table.col = "strata", 
           ggtheme = theme_bw(), #改变ggplot2的主题(背景)
           palette = "Dark2",
           xlim = c(0, 600))#选取特定的x轴坐标范围
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

在这里插入图片描述

Transform survival curves

累积发病率图
ggsurvplot(fit, conf.int = TRUE,
           palette = c("#FF9E29", "#86AA00"),
           risk.table = TRUE, risk.table.col = "strata",
           fun = "event")
  • 1
  • 2
  • 3
  • 4

在这里插入图片描述

危险率函数
ggsurvplot(fit, conf.int = TRUE, 
           palette = c("#FF9E29", "#86AA00"),
           risk.table = TRUE, risk.table.col = "strata",
           fun = "cumhaz")
  • 1
  • 2
  • 3
  • 4

在这里插入图片描述

Arbitrary function
ggsurvplot(fit, conf.int = TRUE, 
          palette = c("#FF9E29", "#86AA00"),
           risk.table = TRUE, risk.table.col = "strata",
           pval = TRUE,
           fun = function(y) y*100)
  • 1
  • 2
  • 3
  • 4
  • 5

在这里插入图片描述

多组生存曲线的绘制

ggsurvplot(fit2, pval = TRUE, 
           break.time.by = 800,
           risk.table = TRUE,
           risk.table.col = "strata",
           risk.table.height = 0.5, 
           ggtheme = theme_bw(),
           legend.labs = c("A", "B", "C", "D", "E", "F"))
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

在这里插入图片描述

参考网站和相关推荐

  1. survminer R package: Survival Data Analysis and Visualization
  2. 生存分析与R
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/132207
推荐阅读
相关标签
  

闽ICP备14008679号