溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何進(jìn)行大數(shù)據(jù)中R語(yǔ)言的生存分析

發(fā)布時(shí)間:2021-12-27 17:55:35 來(lái)源:億速云 閱讀:182 作者:柒染 欄目:大數(shù)據(jù)

如何進(jìn)行大數(shù)據(jù)中R語(yǔ)言的生存分析,針對(duì)這個(gè)問題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡(jiǎn)單易行的方法。

一、基本概念

生存分析:研究各個(gè)因素與生存時(shí)間有無(wú)關(guān)系以及關(guān)聯(lián)程度大小??赏卣沟郊膊?fù)發(fā)時(shí)間,機(jī)器的故障時(shí)間等。
起始事件:反應(yīng)研究對(duì)象開始生存過程的起始特征事件。
終點(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é)束而對(duì)象仍存活以上三種原因結(jié)束的。常在截尾數(shù)據(jù)的右上角放一個(gè)“+”表示其實(shí)該對(duì)象可能活的更久。

變量:生存分析的變量有兩個(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法)和壽命表法,此處簡(jiǎn)單介紹乘積極限法(K-M法)。
http://www.360doc.com/content/17/0626/11/6175644_666623573.shtml此處形象的說(shuō)明了KM曲線能告訴我們什么,以及乘積極限法的基本原理。
注:生存曲線為單因素分析(兩個(gè)或者多個(gè)水平),用中位生存時(shí)間表示生存時(shí)間的平均水平;

2、比較生存過程
獲得生存率及其標(biāo)準(zhǔn)誤的估計(jì)值后,可以進(jìn)行兩組或多組生存曲線的比較,常用方法有對(duì)數(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ù)對(duì)象
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)

如何進(jìn)行大數(shù)據(jù)中R語(yǔ)言的生存分析


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)

如何進(jìn)行大數(shù)據(jù)中R語(yǔ)言的生存分析

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,# 有無(wú)置信區(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")
)

如何進(jìn)行大數(shù)據(jù)中R語(yǔ)言的生存分析

關(guān)于如何進(jìn)行大數(shù)據(jù)中R語(yǔ)言的生存分析問題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識(shí)。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI