單因素和多因素cox回歸分析

前面我們講過一個R函數(shù)搞定風(fēng)險評估散點(diǎn)圖,熱圖,其中LASSO模型的輸入就是單因素cox分析得到的顯著與生存相關(guān)的基因浸间。今天我們就來探討一下如何使用R來做單因素和多因素cox回歸分析。

我們用R的survival包自帶的一套肺癌的數(shù)據(jù)來舉例

#安裝下面兩個R包
install.packages(c("survival", "survminer"))
?
#加載這兩個R包
library("survival")
library("survminer")
?
#加載肺癌這套數(shù)據(jù)
data("lung")
#顯示前6行
head(lung)

這里每一行是一個樣本驶臊,從第三列開始每一列是一個特征

1.單因素cox回歸分析

對單個特征進(jìn)行cox回歸分析籽暇,看它是否與樣本的生存顯著相關(guān)

#單因素cox回歸分析局齿,這里看性別sex這個特征
res.cox <- coxph(Surv(time, status) ~ sex, data = lung)
res.cox

可以看到這里算出來的p值是0.00149澈段,是顯著的

我們在來看一下summary

summary(res.cox)

這里的exp(coef)就是HR(hazard ratio悠菜,風(fēng)險率),lower .95和upper .95為95%的置信區(qū)間

2.批量單因素cox回歸分析

一般我們的關(guān)注的特征都比較多均蜜,用上面的代碼一個一個來做單因素cox回歸分析效率太低了李剖,下面我們來看看如何批量做單因素cox回歸分析芒率。

#假設(shè)我們要對如下5個特征做單因素cox回歸分析
covariates <- c("age", "sex",  "ph.karno", "ph.ecog", "wt.loss")
#分別對每一個變量囤耳,構(gòu)建生存分析的公式
univ_formulas <- sapply(covariates,
                        function(x) as.formula(paste('Surv(time, status)~', x)))
#循環(huán)對每一個特征做cox回歸分析
univ_models <- lapply( univ_formulas, function(x){coxph(x, data = lung)})
#提取HR,95%置信區(qū)間和p值
univ_results <- lapply(univ_models,
                       function(x){ 
                         x <- summary(x)
                         #獲取p值
                         p.value<-signif(x$wald["pvalue"], digits=2)
                         #獲取HR
                         HR <-signif(x$coef[2], digits=2);
                         #獲取95%置信區(qū)間
                         HR.confint.lower <- signif(x$conf.int[,"lower .95"], 2)
                         HR.confint.upper <- signif(x$conf.int[,"upper .95"],2)
                         HR <- paste0(HR, " (", 
                                      HR.confint.lower, "-", HR.confint.upper, ")")
                         res<-c(p.value,HR)
                         names(res)<-c("p.value","HR (95% CI for HR)")
                         return(res)
                       })
#轉(zhuǎn)換成數(shù)據(jù)框偶芍,并轉(zhuǎn)置
res <- t(as.data.frame(univ_results, check.names = FALSE))
as.data.frame(res)
write.table(file="univariate_cox_result.txt",as.data.frame(res),quote=F,sep="\t")

得到的結(jié)果如下充择,你會發(fā)現(xiàn)對于sex這個特征來說,結(jié)果跟前面單獨(dú)做得到的結(jié)果是一樣的匪蟀。

3.多因素cox回歸分析

前面是單獨(dú)看每一個特征是否跟生存相關(guān)椎麦,而多因素cox回歸是同時檢測多個特征是否與生存相關(guān)。一般先通過單因素cox回歸分析找出與生存顯著相關(guān)的特征材彪,然后基于這些特征再去做多因素cox回歸分析观挎,或者做LASSO分析。

res.cox <- coxph(Surv(time, status) ~ age + sex + ph.karno + ph.ecog, data =  lung)
x <- summary(res.cox)
pvalue=signif(as.matrix(x$coefficients)[,5],2)
HR=signif(as.matrix(x$coefficients)[,2],2)
low=signif(x$conf.int[,3],2)
high=signif(x$conf.int[,4],2)
multi_res=data.frame(p.value=pvalue,
                     HR=paste(HR," (",low,"-",high,")",sep=""),
                     stringsAsFactors = F
)
multi_res
write.table(file="multivariate_cox_result.txt",multi_res,quote=F,sep="\t")

得到的結(jié)果如下

參考資料
1.一個R函數(shù)搞定風(fēng)險評估散點(diǎn)圖段化,熱圖
2.單因素和多因素cox回歸分析

完整代碼下載鏈接

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末嘁捷,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子显熏,更是在濱河造成了極大的恐慌雄嚣,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,126評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異缓升,居然都是意外死亡鼓鲁,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評論 2 382
  • 文/潘曉璐 我一進(jìn)店門港谊,熙熙樓的掌柜王于貴愁眉苦臉地迎上來骇吭,“玉大人,你說我怎么就攤上這事封锉∶圊危” “怎么了?”我有些...
    開封第一講書人閱讀 152,445評論 0 341
  • 文/不壞的土叔 我叫張陵成福,是天一觀的道長碾局。 經(jīng)常有香客問我,道長奴艾,這世上最難降的妖魔是什么净当? 我笑而不...
    開封第一講書人閱讀 55,185評論 1 278
  • 正文 為了忘掉前任,我火速辦了婚禮蕴潦,結(jié)果婚禮上像啼,老公的妹妹穿的比我還像新娘。我一直安慰自己潭苞,他們只是感情好累贤,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,178評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著趣倾,像睡著了一般士聪。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上蝗碎,一...
    開封第一講書人閱讀 48,970評論 1 284
  • 那天湖笨,我揣著相機(jī)與錄音,去河邊找鬼蹦骑。 笑死慈省,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的眠菇。 我是一名探鬼主播边败,決...
    沈念sama閱讀 38,276評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼捎废!你這毒婦竟也來了笑窜?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,927評論 0 259
  • 序言:老撾萬榮一對情侶失蹤缕坎,失蹤者是張志新(化名)和其女友劉穎怖侦,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,400評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡匾寝,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,883評論 2 323
  • 正文 我和宋清朗相戀三年搬葬,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片艳悔。...
    茶點(diǎn)故事閱讀 37,997評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡急凰,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出猜年,到底是詐尸還是另有隱情抡锈,我是刑警寧澤,帶...
    沈念sama閱讀 33,646評論 4 322
  • 正文 年R本政府宣布乔外,位于F島的核電站床三,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏杨幼。R本人自食惡果不足惜撇簿,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,213評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望差购。 院中可真熱鬧四瘫,春花似錦、人聲如沸欲逃。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽稳析。三九已至洗做,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間迈着,已是汗流浹背竭望。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評論 1 260
  • 我被黑心中介騙來泰國打工邪码, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留裕菠,地道東北人。 一個月前我還...
    沈念sama閱讀 45,423評論 2 352
  • 正文 我出身青樓闭专,卻偏偏與公主長得像奴潘,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子影钉,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,722評論 2 345

推薦閱讀更多精彩內(nèi)容