如何用R語言繪制Kaplan-Meier生存曲線(附全套代碼)
生存分析(survival analysis)是生物醫(yī)學研究中常用的分析方法。在隊列隨訪研究中,我們會事先定義一些觀察終點,比如腫瘤復(fù)發(fā)、患者死亡、血壓達標等,這些終點稱為事件(event)。從研究開始到發(fā)生事件的時間間隔稱為生存時間(survival time),某些場景下也稱為失效時間(failure time)。由于生存時間數(shù)據(jù)具有以下兩個特點,所以提出生存分析這一特殊的分析方法。
SPSS就可以完成K-M曲線的繪制,鄭老師的30天公益SPSS課程中就有講解,但是圖形結(jié)果較為死板,這里將通過R語言進行K-M繪制,并詳細介紹代碼的含義與作用,結(jié)果會更加美觀,細節(jié)調(diào)整也更靈活。此外將介紹一種更加快捷簡便的繪制流程,對R語言新手小白或希望更加便捷完成統(tǒng)計分析工作的讀者十分友好!
主要內(nèi)容包括:
一、案例介紹
二、利用R語言繪制
三、利用在線網(wǎng)站繪制
四、小結(jié)

一、案例介紹
實操數(shù)據(jù)是從seer公共數(shù)據(jù)庫提取的,包括1101名2004-2018診斷的老年惡性骨腫瘤患者的臨床病理數(shù)據(jù)。暴露因素包括年齡、種族、性別、診斷年份、組織學類型、分級、分期、原發(fā)位置、TNM分期、腫瘤大小、是否化療、是否放療及手術(shù)方式。
這里繪制Kaplan-Meier(K-M)曲線的目的是為了比較不同手術(shù)方式下,患者的生存差異。

二、利用R語言復(fù)現(xiàn)
1.安裝加載R包并導入數(shù)據(jù)
繪制K-M曲線主要用到"survival"與"survminer"兩個包,"readxl"包僅在導入xlsx形式數(shù)據(jù)集時用到。
2..繪制K-M曲線
在survival包中使用Surv()函數(shù)創(chuàng)建生存對象,生存對象是將事件時間和刪失信息合并在一起的數(shù)據(jù)結(jié)構(gòu),survfit()函數(shù)用來擬合生存曲線。
ggsurvplot()函數(shù)用于繪制K-M曲線,詳細代碼解讀在下方進行了標注。
R語言繪制的曲線如下圖所示:

三、利用在線網(wǎng)站繪制
1.進入風暴統(tǒng)計網(wǎng)站
首先電腦端使用瀏覽器打開網(wǎng)址“www.medsta.cn”,進入風暴統(tǒng)計平臺,然后進入風暴智能統(tǒng)計模塊——生存分析——生存分析全套。

2.導入數(shù)據(jù)
目前網(wǎng)站支持導入10M以內(nèi)的csv數(shù)據(jù)或xlsx數(shù)據(jù)。

3.繪制K-M曲線
進入“生存曲線”模塊,將生存時間、生存結(jié)局、分組變量分別選入就可以在右側(cè)得出基礎(chǔ)版K-M曲線圖。

最左側(cè)的“生存曲線圖常用設(shè)置”可以對圖形進行進一步的美化。
①“生存曲線配色方案”提供了9種配色供大家選擇,滿足不同需求。
②P值大小、x軸刻度間隔、風險表高度及字體大小也可以快速調(diào)整,省去代碼的煩惱
③“中位生存時間”可以在圖中用虛線標注出各組的中位生存時間,由于本案例中僅兩組達到了50%的生存率,因此圖中僅顯示了兩條曲線,“hv”同時顯示x軸和y軸虛線,“h”僅顯示y軸虛線,“v”僅顯示x軸虛線。
④還可以自行更改x軸標題及3種圖形要素(曲線置信區(qū)間、風險表、刪失圖)

4.下載保存曲線圖
在網(wǎng)站頁面顯示的圖形不完整,字都擠在一起?不要著急,網(wǎng)站支持PDF或PNG格式的圖片,下載完成后,圖片十分的完整清晰,簡直超便捷!

風暴統(tǒng)計網(wǎng)站繪制的K-M曲線圖:

四、小結(jié)
風暴統(tǒng)計平臺是以R代碼為基礎(chǔ)進行搭建的便捷統(tǒng)計平臺,因此結(jié)果的準確性大家可以放心,此外,不需要任何代碼基礎(chǔ),小白也可以輕松完成,各種細節(jié)調(diào)整設(shè)置滿足大家的個性化需求,感興趣的各位不妨花幾分鐘試試看?
