如何進(jìn)行大數(shù)據(jù)中R語言的生存分析,針對這個(gè)問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡單易行的方法。
站在用戶的角度思考問題,與客戶深入溝通,找到銅梁網(wǎng)站設(shè)計(jì)與銅梁網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:成都網(wǎng)站制作、成都網(wǎng)站建設(shè)、外貿(mào)營銷網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名注冊、網(wǎng)頁空間、企業(yè)郵箱。業(yè)務(wù)覆蓋銅梁地區(qū)。
一、基本概念
生存分析:研究各個(gè)因素與生存時(shí)間有無關(guān)系以及關(guān)聯(lián)程度大小。可拓展到疾病復(fù)發(fā)時(shí)間,機(jī)器的故障時(shí)間等。
起始事件:反應(yīng)研究對象開始生存過程的起始特征事件。
終點(diǎn)事件(死亡事件):出現(xiàn)研究者所關(guān)心的特定結(jié)局。如“病人因該疾病死亡”。
觀察時(shí)間:從研究開始觀察到研究觀察結(jié)束的時(shí)間。
生存時(shí)間:觀察到的存活時(shí)間,用符號(hào)t表示。
完全數(shù)據(jù):從觀察起點(diǎn)到死亡事件所經(jīng)歷的時(shí)間,生存時(shí)間是完整的。
截尾數(shù)據(jù)(刪失值):觀察時(shí)間不是由于終點(diǎn)事件而結(jié)束的,而是由于(1)失訪(2)死于非研究因素(3)觀察結(jié)束而對象仍存活以上三種原因結(jié)束的。常在截尾數(shù)據(jù)的右上角放一個(gè)“+”表示其實(shí)該對象可能活的更久。
變量:生存分析的變量有兩個(gè):生存時(shí)間t和結(jié)局變量(0-1)。其中結(jié)局變量1表示死亡事件,0表示截尾。
生存曲線:以生存時(shí)間為橫軸、生存率為縱軸繪制一條生存曲線。
中位生存時(shí)間:又稱為生存時(shí)間的中位數(shù),表示剛好有50%的個(gè)體其存活期大于該時(shí)間。
二、生存分析研究的部分內(nèi)容
1、描述生存過程
研究生存時(shí)間的分布特點(diǎn),估計(jì)生存率及其標(biāo)準(zhǔn)誤、繪制生存曲線。常用方法有乘積極限法(K-M法)和壽命表法,此處簡單介紹乘積極限法(K-M法)。
http://www.360doc.com/content/17/0626/11/6175644_666623573.shtml此處形象的說明了KM曲線能告訴我們什么,以及乘積極限法的基本原理。
注:生存曲線為單因素分析(兩個(gè)或者多個(gè)水平),用中位生存時(shí)間表示生存時(shí)間的平均水平;
2、比較生存過程
獲得生存率及其標(biāo)準(zhǔn)誤的估計(jì)值后,可以進(jìn)行兩組或多組生存曲線的比較,常用方法有對數(shù)秩檢驗(yàn)(log-rank檢驗(yàn))。如曲線交叉,可能存在混雜因素。
注:兩個(gè)或者多個(gè)生存曲線的比較(單因素兩個(gè)或者多個(gè)水平)
3、影響生存時(shí)間的因素分析
常用的多因素生存分析方法:Cox比例風(fēng)險(xiǎn)回歸模型。可能后面會(huì)啰嗦。
三、R包進(jìn)行生存分析
1、R-survival包進(jìn)行生存分析,并繪制KM曲線圖:
Surv:用于創(chuàng)建生存數(shù)據(jù)對象
survfit:創(chuàng)建KM生存曲線或是Cox調(diào)整生存曲線
survdiff:用于不同組的統(tǒng)計(jì)檢驗(yàn)
coxph:構(gòu)建COX回歸模型 (待)
cox.zph:檢驗(yàn)PH假設(shè)是否成立 (待)
#載入包,讀取數(shù)據(jù)
library(survival)
dat <- read.table('Test.txt',header=TRUE)
1) 估計(jì)生存函數(shù),觀察不同組間的區(qū)別
# 估計(jì)KM生存曲線
# OS_time:跟蹤到的存活時(shí)間
# OS_Status: 跟蹤到的存活狀態(tài)
# COV1:表示按照COV1進(jìn)行分組
fit <- survfit(Surv(dat$OS_time,as.numeric(dat$OS_Status))~dat$COV1,data=dat)
# 獲得的survial列就是生存率
summary(fit)
2) 比較不同因子分組的生存效果,檢驗(yàn)顯著性
survdiff(Surv(dat$OS_time,as.numeric(dat$OS_Status))~dat$COV1,data=dat)
3) 繪制KM曲線圖
#橫軸表示生存時(shí)間,縱軸表示生存概率,為一條梯形下降的曲線。下降幅度越大,表示生存率越低或生存時(shí)間越短。
plot(fit,xlab="Time(Days)",ylab="Survival",main="",col=c("blue","red"),lty=2,lwd=2)
legend("topright",c("A","B"),col=c("blue","red"),lty=2,lwd=2,cex=0.7)
2、R-survminer包繪制KM曲線圖:圖形更精美,展示效果更好。
library("survminer") #載入R包
fit<- survfit(Surv(time, status) ~ sex, data = lung) #讀取數(shù)據(jù)
#繪制KM圖
ggsurvplot(fit, data = lung,
surv.median.line = "hv", # Add medians survival
# Change legends: title & labels
legend.title = "Sex",legend.labs = c("Male", "Female"),
# Add p-value and tervals
pval = TRUE,pval.size = 3,
# Change censor
censor.shape = 124,censor.size = 2,
conf.int = FALSE,# 有無置信區(qū)間
break.x.by = 100, #橫軸坐便
# Add risk table
risk.table = TRUE,tables.height = 0.2,tables.theme = theme_cleantable(),
#palette = c("#E7B800", "#2E9FDF"),
palette = c("blue", "purple"),
ggtheme = theme_bw(), # Change ggplot2 theme
# Change font size, style and color
main = "Survival curve",
font.main = c(16, "bold", "darkblue"),
font.x = c(14, "bold.italic", "red"),
font.y = c(14, "bold.italic", "darkred"),
font.tickslab = c(12, "plain", "darkgreen")
)
關(guān)于如何進(jìn)行大數(shù)據(jù)中R語言的生存分析問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識(shí)。