Q&A | 如何用R批量绘制并导出生存曲线图

生存分析

关于如何在R中进行生存分析的问题,在前面的推文中已经详细的介绍过。详见:survminer | 生存分析及其可视化ggsurvplot()生成的结果。很多同学直接使用ggsave()会产生报错。还有一个问题就是当你有好多个基因/临床参数等时,如何批量的进行生存分析。今天这篇推文就详细的给大家讲一下这两个问题。

批量绘制

数据格式

我将surviavl包里的内置数据集colon进行一定的修改作为示例数据使用。

#加载包
library("survminer")
library("survival")
#导入示例数据并查看
colon <- read.csv("colon.csv",row.names = 1)
head(colon)
> head(colon)
    study      rx sex   age obstruct
853     1     Obs   1 young        1
413     1     Obs   0 young        0
140     1     Obs   0 young        1
94      1 Lev+5FU   0 young        0
580     1 Lev+5FU   0 young        0
863     1     Lev   0 young        0
    perfor adhere surg gene1 gene2
853      0      1    0   Low   Low
413      0      0    1   Low   Low
140      0      0    0  High   Low
94       0      1    1  High   Low
580      0      0    0   Low   Low
863      0      0    0   Low   Low
    status time
853      1  612
413      0 2234
140      0 2826
94       0 2869
580      0 1421
863      1 1325

sex~gene2的所有变量进行生存分析

# 要做生成分析的所有变量
genes <- names(colon)[3:10]
genes
# 循环并保存图片
for (i in genes){
  print(i)
  fit <- survfit(Surv( time,status) ~ colon[,i], colon)
  p <- ggsurvplot(fit, linetype = "strata",
                  pval = TRUE,
                  palette = "Dark2",
                  legend.labs =c(paste0(i, "=H"), paste0(i, "=L")))
  pdf(paste0(i, "_surv.pdf"),width = 5, height = 5)
  print(p, newpage = FALSE)
  dev.off()
}

查看一下结果:

c1ab9423f513a330b9447e3490cbe89f.png
输出文件

随便打开一个看看:7d0ed9595098121d2cd77f08168ad22e.png

大功告成啦~

Tips:这里只是用了简单的一个生存曲线图进行示范,如果大家需要更加复杂的生存曲线,只需要更改ggsurvplot()函数的参数即可!


为爱发电不易~如果需要示例数据及代码(当然其实文中都已经写的很详细了)的同学,点赞&打赏任意金额,并在主页添加本人微信发送截图即可。

a72bdcb2d0b9086d72555641ec2cfe68.png

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值