如何使用Survminer包優(yōu)雅的繪制生存曲線?
引言:
生存分析是臨床上較為常用的統(tǒng)計學(xué)方法,用于比較不同組別的患者在接受干預(yù)之后,生存時間的變化情況。生存分析是醫(yī)學(xué)領(lǐng)域中一個重要的內(nèi)容,在各個疾病領(lǐng)域的研究中都運用十分廣泛。在R中進行生存分析常用的包主要有survival包以及survminer包。
Survival 包提供了生存函數(shù)的建立,Cox模型的建立,以及比較分析。這個包也提供了基于基礎(chǔ)繪圖系統(tǒng)的生存曲線繪制。Survminer包提供了基于ggplot2系統(tǒng)對于生存分析的可視化,使得生存分析具有更加美觀的圖形,以及自我定制方式。
而今天我們的主角就是Survminer包,讓我們鼓足精神一起來學(xué)習(xí)“如何使用Survminer包優(yōu)雅的繪制生存曲線”吧。
1.Survminer包主要函數(shù)介紹
#該包包含的主要函數(shù)有:
主要函數(shù)用法ggsurvplot ()利用'number at risk'表,事件表的累計數(shù)量和被過濾的主體表的累計數(shù)繪制生存曲線arrange_ggsurvplots ()在同一頁面上排列多個ggsurvplotsggsurvevents ()繪制事件的時間分布surv_summary ()生存曲線總結(jié),默認(rèn)的summary ()函數(shù)相比,surv_summary ()創(chuàng)建一個數(shù)據(jù)幀,其中包含來自survfit結(jié)果的漂亮摘要surv_cutpoint ()一次確定一個或多個連續(xù)變量的最佳切點,提供與生存最顯著關(guān)系對應(yīng)的一個切點的值。pairwise_survdiff ()生存曲線的多重比較,計算分組級別之間的配對比較,以及多個測試的更正ggcoxzph ()比例危害的圖形測試,顯示縮放的Schoenfeld殘差圖,以及使用ggplot2的平滑曲線,plot.cox.zph()的包裝器ggcoxdiagnostics ()顯示診斷圖表顯示cr比例危險模型的良好ggcoxfunctional ()顯示關(guān)于零cox比例危險模型鞅殘差的連續(xù)解釋變量的圖,cox模型中連續(xù)變量的函數(shù)形式的正確選取ggforest ()繪制CoxPH模型的forest plotggcoxadjustedcurves ()繪制coxph模型的調(diào)整生存曲線ggcompetingrisks ()繪制競爭風(fēng)險的累積關(guān)聯(lián)曲線
在以上眾多函數(shù)中,ggsurvplot ()函數(shù)和ggcoxzph ()函數(shù)是生存分析中應(yīng)用最多的函數(shù),arrange_ggsurvplots ()函數(shù)是讓多個 ggsurvplots作圖生存曲線合并。今天我們也將主要講解這三個函數(shù)。(如果需要其他函數(shù)的學(xué)習(xí),請自行查閱 Survminer包說明文檔)
2.主要函數(shù)ggsurvplot()
2.1 用法:
ggsurvplot(fit, data = NULL, fun = NULL, color = NULL, palette = NULL, linetype = 1, conf.int = FALSE, pval = FALSE, pval.method = FALSE, test.for.trend = FALSE, surv.median.line = "none", risk.table = FALSE, cumevents = FALSE, cumcensor = FALSE, tables.height = 0.25, group.by = NULL, facet.by = NULL, add.a(chǎn)ll = FALSE, combine = FALSE, ggtheme = theme_survminer(), tables.theme = ggtheme, ...)
2.2 主要參數(shù)詳解:
參數(shù)用法fit需要畫的生存曲線對象,可以是擬合好的生存對象,也可以是包含生存信息的數(shù)據(jù)框、列表data用來擬合生存曲線的數(shù)據(jù)集,如果未提供,則將從“fit”對象中提取數(shù)據(jù)fun定義生存曲線變換的任意函數(shù)。event:f(y) = 1-y;cumhaz:f(y) =-log(y);pct:生存率百分比color繪制生存曲線的顏色設(shè)置,可使用調(diào)色板palette使用調(diào)色板linetype改變線條類型conf.int邏輯值,如果為TRUE,則繪制置信區(qū)間pval邏輯中,如果為TRUE,則繪制p值pval.method是否添加一個文本,其中包含用于計算pvalue的檢驗名稱,該文本對應(yīng)于生存曲線的比較。僅在pval=TRUE時使用test.for.trend邏輯值,默認(rèn)為FALSE,如果是TRUE,返回p值的趨勢檢測surv.median.line用于在中間生存點繪制水平/垂直線的字符向量,可選擇的值包括c("none","hv","h","v")中的一個,其中v:垂直,h:水平risk.table顯示絕對數(shù)量和風(fēng)險個體的百分比cumevents指定是否顯示累計事件數(shù)表的邏輯值,默認(rèn)值為FALSEcumcensor邏輯值,指定是否顯示審查累計次數(shù)的表,默認(rèn)值為FALSEtables.height數(shù)值(在[0-1]中),指定主生存圖下所有表的一般高度add.a(chǎn)ll邏輯值如果為真,則將合并患者的生存曲線(空模型)添加到主圖中combine邏輯值如果為TRUE,則在同一繪圖上合并列表survfit對象2.3 示例:
#首先,安裝并加載包,直接在R中安裝即可
install.packages("survival")install.packages("survminer")library(survival)library(survminer)
#示例數(shù)據(jù)選用R語言中非常出名的lung數(shù)據(jù)集
#查看數(shù)據(jù)組成View(lung)
#表中數(shù)據(jù)解釋:
time:患者生存時間,單位是days?status:患者結(jié)局,1表示刪失,2表示死亡 其余變量:自變量,比如:age表示年齡,sex表示性別等等
#然后,使用該數(shù)據(jù)擬合生存曲線 (這里使用Survival包,具體生存分析的方法可以查看Survival包學(xué)習(xí)文檔)
fit<- survfit(Surv(time, status) ~ sex, data = lung)
#構(gòu)建好fit對象后,開始畫圖
#默認(rèn)參數(shù)畫圖ggsurvplot(fit, data = lung)
# 添加中位生存ggsurvplot(fit, data = lung, surv.median.line = "hv")
請輸入評論內(nèi)容...
請輸入評論/評論長度6~500個字
圖片新聞
最新活動更多
-
11月19日立即報名>> 【線下論壇】華邦電子與恩智浦聯(lián)合技術(shù)論壇
-
11月29日立即預(yù)約>> 【上海線下】設(shè)計,易如反掌—Creo 11發(fā)布巡展
-
即日-12.26火熱報名中>> OFweek2024中國智造CIO在線峰會
-
精彩回顧立即查看>> 2024(第五屆)全球數(shù)字經(jīng)濟產(chǎn)業(yè)大會暨展覽會
-
精彩回顧立即查看>> 全數(shù)會2024中國人形機器人技術(shù)創(chuàng)新發(fā)展大會
-
精彩回顧立即查看>> OFweek 2024中國激光產(chǎn)業(yè)高質(zhì)量發(fā)展峰會
-
9 BD新浪潮
- 高級軟件工程師 廣東省/深圳市
- 自動化高級工程師 廣東省/深圳市
- 光器件研發(fā)工程師 福建省/福州市
- 銷售總監(jiān)(光器件) 北京市/海淀區(qū)
- 激光器高級銷售經(jīng)理 上海市/虹口區(qū)
- 光器件物理工程師 北京市/海淀區(qū)
- 激光研發(fā)工程師 北京市/昌平區(qū)
- 技術(shù)專家 廣東省/江門市
- 封裝工程師 北京市/海淀區(qū)
- 結(jié)構(gòu)工程師 廣東省/深圳市