找了好久,中文的競爭風險模型的學習資料好少哦,再加上幫粉絲做了一個競爭模型的分析,今天順帶就給大家寫一個競爭風險回歸的例子。也是接著上一篇文章的續(xù)[R數據分析:競爭風險模型的做法和解釋]
實例描述
我們有177例干細胞移植的急性白血病患者,我們關心這些病人的白血病復發(fā)情況,但是記住,因為白細胞移植,其移植相關死亡風險也加大。那么死亡和復發(fā)存在競爭關系,畢竟病人有可能還沒等到復發(fā)就死了嘛,所以做數據分析的時候要考慮。對于這樣的數據我們應該用風險競爭模型。
同時我們更關心協變量比如說病人性別,白血病類型,移植時期,干細胞來源等等這些變量是如何影響病人白血病復發(fā)風險的。
我們的數據長這樣:
其中ftime為時間變量,status為刪失或者競爭事件,我們要用到的預測變量包括Age, Sex, D, Phase, and Source共4個,分別代表病人的年齡,性別,疾病類型,階段,干細胞來源。
首先我們必須將預測變量中的因子類型轉化為啞變量,我們需要構建一個啞變量轉化函數:
factor2ind <- function(x, baseline)
{
xname <- deparse(substitute(x))
n <- length(x)
x <- as.factor(x)
if(!missing(baseline)) x <- relevel(x, baseline)
X <- matrix(0, n, length(levels(x)))
X[(1:n) + n*(unclass(x)-1)] <- 1
X[is.na(x),] <- NA
dimnames(X) <- list(names(x), paste(xname, levels(x), sep = ":"))
return(X[,-1,drop=FALSE])
}
factor2ind()這個函數就可以很方便的將因子轉化為n-1列的矩陣,同時規(guī)定參考水平。
接下來要做的就是把所有預測變量進行綁定,形成預測變量矩陣:
x <- cbind(Age,factor2ind(Sex,'M'),
factor2ind(D,'ALL'),
factor2ind(Phase,'Relapse'),
factor2ind(source))
有了這個預測變量矩陣我們就可以開始擬合我們競爭風險模型了,主要要用到crr這個函數,這個函數最簡單的模式就是你把隨訪事件喂給它,把結局事件喂給它,再把自變量喂給他,要注意刪失數據編碼為0,主要事件編碼為1,競爭事件為2:
mod1 <- crr(ftime,Status,x)
summary(mod1)
[圖片上傳失敗...(image-ddca3c-1612628484288)]
可以看到,我們的競爭回歸模型就擬合好了。
結果的第一部分首先給出了各個變量的系數和相對風險relative risk exp(*****β?j*****),標準誤,z值和p值,在我們的結果中,可以看出只有Phase這個變量是顯著的。
結果的第二部分就給出各個變量的相對風險the relative risk for each term, exp(*****β?j*****), and a 95% confidence interval和置信區(qū)間。
如何解釋呢?
The relative risk or subdistribution hazard ratio for a categorical covariate is the ratio of subdistribution hazards for the actual group with respect to the baseline, with all other covariates being equal. If the covariate is continuous then the relative risk refers to the effect of a one unit increase in the covariate, with all other covariates being equal. In our data, exp(?0.0352)=0.965 is the relative risk of a female with respect to a male, and exp(?0.0185)=0.982 is the relative risk for a 1 year increase in age.
對于分類變量來說,相對風險就是相對于參考水平,該水平的風險是多少。對于連續(xù)變量來說,相對風險解釋為自變量每增加一個單位產生的效果。在我們的例子中就有女性相對于男性的風險為exp(?0.0352)=0.965;病人的年齡每增加一歲白血病復發(fā)的風險相對于不增加為exp(?0.0185)=0.982。
小結
今天給大家寫了競爭風險回歸模型的做法和結果解釋,感謝大家耐心看完,自己的文章都寫的很細,代碼都在原文中,希望大家都可以自己做一做,請關注后私信回復“數據鏈接”獲取所有數據和本人收集的學習資料。如果對您有用請先收藏,再點贊轉發(fā)。
也歡迎大家的意見和建議。
如果你是一個大學本科生或研究生,如果你正在因為你的統計作業(yè)、數據分析、論文、報告、考試等發(fā)愁,如果你在使用SPSS,R,Python,Mplus, Excel中遇到任何問題,都可以聯系我。因為我可以給您提供最好的,最詳細和耐心的數據分析服務。
如果你對Z檢驗,t檢驗,方差分析,多元方差分析,回歸,卡方檢驗,相關,多水平模型,結構方程模型,中介調節(jié),量表信效度等等統計技巧有任何問題,請私信我,獲取最詳細和耐心的指導。
If you are a student and you are worried about you statistical #Assignments, #Data #Analysis, #Thesis, #reports, #composing, #Quizzes, Exams.. And if you are facing problem in #SPSS, #R-Programming, #Excel, Mplus, then contact me. Because I could provide you the best services for your Data Analysis.
Are you confused with statistical Techniques like z-test, t-test, ANOVA, MANOVA, Regression, Logistic Regression, Chi-Square, Correlation, Association, SEM, multilevel model, mediation and moderation etc. for your Data Analysis...??
Then Contact Me. I will solve your Problem...
加油吧,打工人!
往期內容:
[R數據分析:Lasso回歸篩選變量構建Cox模型并繪制列線圖]
[R數據分析:ROC曲線與模型評價實例]
[R文本挖掘:文本主題分析topic analysis]
[R文本挖掘:詞云圖怎么做,worldcloud2初識]