R代碼:COX回歸和森林圖

rm(list=ls())

gc() #清列表清內(nèi)存

#單因素和多因素COX回歸

setwd("C:/AW/COX")

library(survival)

data=read.csv("UCSC.csv",header=T) #載入需要做COX的數(shù)據(jù),包括存活狀態(tài),時間,和對存活有影響的變量

unimodel=coxph(Surv(OSTIME, OS) ~ AGE, data)? #對AGE分組做單因素COX

print(unimodel)? # 單因素結(jié)果,exp(coef)即HR, 保存exp(coef)和p值


exp(confint(unimodel)) #得到HR的95%置信區(qū)間,保存


summary(coxmodel) #詳細(xì)版本的單因素結(jié)果

coxmodel=coxph(Surv(OSTIME, OS) ~ AGE? + T + STAGE + M + N , data) #多因素分析

print(coxmodel)? #多因素結(jié)果

exp(confint(coxmodel)) #多因素置信區(qū)間

#做森林圖

cox=read.csv("COX.csv",header=T) #森林圖需要HR值,和HR的95%置信區(qū)間上下限

cox$group = ifelse(cox$lower >1|cox$upper <1,"red3", "black")? #對有意義的變量標(biāo)紅

library(ggplot2)

ggplot(data=cox)+

? aes(x=hr,y=reorder(X,hr))+ #根據(jù)HR值對縱坐標(biāo)的變量排序

? geom_errorbarh(aes(xmax=upper,xmin=lower),color=cox$group,height=0,size=0.8)+ #畫出HR值上下限

? geom_point(size=1.5,shape=15,color=cox$group)+ #畫出HR值

? geom_vline(xintercept=1,linetype="dashed",size=0.6,color="darkblue")+ #在1處標(biāo)藍(lán)色虛線

? coord_trans(x="log2")+ #對X軸取log

? scale_x_continuous(limits=c(0.2,10),breaks=c(0.5,1,2,3,5,10))+ #規(guī)定X軸上下限和需要顯示的坐標(biāo)

? labs(x="Hazard ratio",y="")+

? theme_bw()+

? theme(panel.grid.minor = element_blank()) #去除多余雜線


成圖
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

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