第27天 利用R語(yǔ)言進(jìn)行生存分析 我們基于之前的R語(yǔ)言,應(yīng)該掌握了基本的R語(yǔ)言統(tǒng)計(jì)分析方法,現(xiàn)在我們結(jié)合R語(yǔ)言的數(shù)據(jù)導(dǎo)入、整理、統(tǒng)計(jì)描述,差異性檢驗(yàn),R繪圖,回歸建模,共同向大家展示,如何來開展統(tǒng)計(jì)分析撰寫論文。這一次,我們以生存數(shù)據(jù)為例,開展生存分析,進(jìn)行R語(yǔ)言數(shù)據(jù)分析總結(jié)。 1. 案例 我們一個(gè)真實(shí)世界臨床研究,通過隊(duì)列隨訪獲得胰腺癌患者的生存結(jié)局,探討術(shù)中放化療等因素對(duì)胰腺癌生存的影響。結(jié)局變量包括時(shí)間(time)和結(jié)局(censor),結(jié)局中刪失意味著生存。影響因素包括年齡、trt(術(shù)中放化療)、sex(性別)、bui(占位處)、ch(胰膽管浸潤(rùn)程度)、P(有無腹膜轉(zhuǎn)移)、stage(TNM分類)。 2.準(zhǔn)備工作,導(dǎo)入R語(yǔ)言導(dǎo)入生存分析包,導(dǎo)入數(shù)據(jù) library(survival) library(broom) pancer<-read.csv("pancer.csv") 3.進(jìn)行數(shù)據(jù)的整理 Pancer數(shù)據(jù)庫(kù)總的來說結(jié)構(gòu)相對(duì)簡(jiǎn)單,無序進(jìn)行復(fù)雜的操作。這里主要要進(jìn)行的是,對(duì)部分變量進(jìn)行因子化的操作。 fvars<- c("sex","trt","bui,"ch","p","stage") pancer[fvars] <- lapply(pancer[fvars], factor) 4. 接種開展K-M分析,進(jìn)行l(wèi)ogRank分析 # 進(jìn)行K-M分析 fit <- survfit(Surv(time, censors) ~ trt,data = pancer) # 進(jìn)行K-M分析 print(fit) # 可以查看生存時(shí)間中位數(shù) summary(fit) # 利用summary()函數(shù)還可以細(xì)致查看生存時(shí)間表 # 繪制生存曲線圖 plot(fit, main="Kaplan-Meier curves of two groups",xlab="time", ylab="survival function") 當(dāng)然有人會(huì)問,這個(gè)生存曲線圖真難看,有沒有漂亮一點(diǎn)。有!我們接下來還有一講,再來探討 #進(jìn)行 logRank檢驗(yàn) > survdiff(Surv(time, censor)~ trt, data = pancer, rho = 0) 5.進(jìn)行COX回歸分析 COX回歸其實(shí)也不難,它基本格式是 mycox<-coxph(Surv(time,censor)~age+sex+bui+ch+p+stage+trt,data=pancer) 采用的是survival包的coxph函數(shù),納入time和censor作為因變量,自變量則包括了數(shù)據(jù)庫(kù)的所有其他變量。具體coxph函數(shù)設(shè)置,可以通過help語(yǔ)句來進(jìn)行查找。這里不再陳列。 我們可以通過summary()函數(shù)查看更多細(xì)節(jié) summary(mycox) 這個(gè)結(jié)果又長(zhǎng)又臭,現(xiàn)在我們通過函數(shù)來提取關(guān)鍵結(jié)果 coef(summary(mycox)) 也可以提取HR和95%置信區(qū)間 exp(coef(mycox)) exp(confint(mycox)) 6. broom函數(shù)的應(yīng)用 上一講介紹過broom可以幫助我們?cè)诮⒒貧w模型后,快速整齊地的整理數(shù)據(jù) tidy(mycox,exponentiate = TRUE) glance(mycox) > pancer<-augment(mycox,pancer) > str(pancer) 總體上而言,利用R語(yǔ)言開展回歸,也不難,而且它比其他方法更加靈活,當(dāng)然我覺得它最大的優(yōu)點(diǎn)可以繪制非常美觀的生存曲線圖!關(guān)于生存曲線圖,且聽我后面再進(jìn)行介紹。 DAY27的內(nèi)容就介紹到這里! |
|