如何用R语言进行Cox回归生存分析
本篇內容介紹了“如何用R語言進行Cox回歸生存分析”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
在生存分析中,探究生存時間的影響因素是一個重要的研究內容,通過KM和log-rank test檢驗的方法,只能夠處理單個二分類因素的生存數據。當想探究多個因素或者離散型變量對生存時間的影響時,我們就需要借助于cox回歸方法。cox回歸的全稱如下
cox proportional hazards regression model
稱之為cox等比例風險回歸模型, 對應的公式如下
將上述公式進行log轉換,可以變換成以下格式
這個公式和邏輯回歸的公式就非常的接近了, cox回歸其實是在線性回歸和邏輯回歸的基礎上延伸而出的一種方法,將影響生存的多個因素當做回歸方程中的自變量,將風險函數h(t)和h0(t)的比值當做因變量。
每個自變量對應的系數,如b1,b2這類的 ,稱之為偏回歸系數。當偏回歸系數大于0時, 隨著該自變量值的增加,風險增加,生存時間減少,當系數小于0時,則相反;等于0時,沒有影響。
將exp(b)稱之為hazard ratio, 簡稱HR。將偏回歸系數轉換成HR, 對應的關系如下
-
HR = 1, 沒有影響
-
HR > 1, 風險增加
-
HR < 1, 風險降低
在臨床上,將HR>1的自變量稱之為壞的預后因子,將HR<1的自變量稱之為好的預后因子。通過survivalR包,可以輕松的實現cox回歸分析,步驟如下
1. 準備生存數據
對于每個個體而言,其生存數據會出現兩種情況,第一種是觀測到生存時間,通常用1表示,第二種則是刪失。通常用0表示。survival自帶了一個測試數據lung, 內容如下所示
每一行代表一個樣本,time表示生存時間,status表示刪失情況,這里只有1和2兩種取值,默認排序后的第一個level對應的值為刪失,這里則為1表示刪失。其他列為樣本對應的性別,年齡等基本信息。
2. cox回歸分析
代碼如下
可以看到,cox回歸的適用范圍更廣,以最后一個回歸分析為例,結果如下所示
首先查看likehood ration test , wald test, logrank test三種檢驗方法的p值,p值小于0.05, 這個回歸方程是統計學顯著的。說明在這么多自變量中包含了對生存時間具有影響的因素。
然后查看每個自變量的p值,可以看到sex和ph.ecog這兩個變量的p值小于0.05,而age的p值大于0.05, 說明sex和ph,ecog這兩個變量對生存時間的影響更加顯著。
最后查看自變量的coef等指標,coef就是偏回歸系數,exp(coef)就是HR。sex的HR值小于1,該數據集中1=male, 2= female, HR表示的是數值大的風險/數值小的風險,在這里就是female/ male, 說明female死亡的相對較低。HR的值約為0.58, 說明female的死亡風險只占了male的58%, 相比male, female的死亡風險降低了42%。ph.ecog的HR值大于1, 說明隨著ph.ecog數值的增加,死亡風險會增加。
3. 結果可視化
以sex為例, 可視化的代碼如下
效果圖如下
總結
以上是生活随笔為你收集整理的如何用R语言进行Cox回归生存分析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: oracle clob 回车换行问题
- 下一篇: Oracle 获取本周、本月、本季、本年