生存分析
关于如何在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() }
查看一下结果:
输出文件
随便打开一个看看:
大功告成啦~