如何將多個(gè)生存分析曲線圖片進(jìn)行合并拼圖

survminer包的ggsurvplot()函數(shù)可以畫好看的生存分析曲線,也可以用分面的方法分面繪制多組圖片(教程可以見我以前給生信助手上的一個(gè)小建議「凌云34」Multiple Overall Survival Plots(2),雖然說ggsurvplot()的語法基于ggplot2(其實(shí)應(yīng)該是ggpubr),但是它的圖卻不是標(biāo)準(zhǔn)的ggplot2格式,所以對于多個(gè)生存曲線圖,你并不能使用 cowplotggarrangepatchwork進(jìn)行拼接,甚至于Y叔開發(fā)的ggplotify都不能轉(zhuǎn)換為ggplot圖形(大家如有好的方案,也可以下方評論),那么到底要怎么辦才行。
比如說有下面這種數(shù)據(jù)

event grade size time
1 2 small 92
0 3 big 71
1 3 small 58
0 2 small 68
0 2 big 103
0 2 small 93
0 2 small 111
0 3 small 85
0 2 small 98
0 1 small 81
  1. 我們先按size分組,做一個(gè)生存曲線,得到下面這個(gè)圖
library(survival)
library(survminer)
sfit <- survfit(Surv(time, event)~size, data=phe)
p1<-ggsurvplot(sfit,data = phe,
           palette = 'jco', 
           conf.int = T,conf.int.style='step', 
           pval = T,pval.method = T,
           risk.table = T,risk.table.pos='in',
           legend=c(0.85,0.85),
           legend.title="Size",
           legend.labs=c("small","big"),
           title="Survival curve for size", 
           ggtheme = theme_bw(base_size = 12))
p1
不同Size分組的生存曲線
  1. 我們還可以按grade分組,得到下面這個(gè)圖
gfit=survfit(Surv(time, event)~grade, data=phe)
p2<-ggsurvplot(gfit,data = phe,
           palette = 'lancet', 
           conf.int = T,conf.int.style='step', 
           pval = T,pval.method = T,
           risk.table = T,risk.table.pos='in',
           legend=c(0.85,0.85),
           legend.title="Grade",
           title="Survival curve for grade", 
           ggtheme = theme_bw(base_size = 12) 
           )
p2
不同Grade分組的生存曲線

然而,我們并不能拼接圖形,使用下面的經(jīng)典拼圖代碼全都會(huì)報(bào)錯(cuò),連轉(zhuǎn)換為ggplot都做不到

cowplot::plot_grid(p1,p2) # 這個(gè)函數(shù)不行
patchwork::p1+p1 # 這個(gè)函數(shù)也不行
p1<-ggplotify::as.ggplot(p1) # 轉(zhuǎn)成ggplot也不行

那么,除了導(dǎo)出圖片,用AI等工具以外,是不是就沒有在R里直接的解決方案了呢?


不然,我們可以用survminerarrange_ggsurvplots函數(shù)進(jìn)行解決,如下面代碼跑完,就可以得到拼圖了。

splots <- list()
splots[[1]] <- p1
splots[[2]] <- p2
# 將多個(gè)圖合并一起
arrange_ggsurvplots(splots, print = TRUE,  
                    ncol = 2, nrow = 1) #定義行數(shù)和列數(shù)
多個(gè)生存曲線的合并
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容