mstate多状态模型使用方法

 背景和原理分析:

1.cox回归

cox回归广泛用于生存回归之中,相较于其他回归模型,cox回归的特点是考虑了time这一参数

Cox回归要求满足

第一等比例风险(Proportional hazards)假定。第二,当自变量是连续型变量时,Cox回归中自变量与因变量的关系--一种转换后线性关系,也必须满足变化。

cox回归的返回值是HR

风险比(HR)大于1表示与事件概率正相关的协变量,因此与生存期长度负相关。

1. HR 1 :无效;
2. HR 1 :减少危害 ;
3. HR 1 :危险增加。

mstate多状态模型使用方法_第1张图片

 Fig1

 2.多状态模型

其实是将生存这一事件考虑了多个状态,即以多长的时间t1进入state1,以多长的时间进入state2……是对cox回归的拓展

 mstate多状态模型使用方法_第2张图片

  Fig2 from Long-term exposure to ambient air pollution is a risk factor for trajectory of cardiometabolic multimorbidity: A prospective study in the UK Biobank  https://doi.org/10.1016/j.ebiom.2022.104282

 代码示例:

library(mstate)
##多状态模型
library(ggplot2)
theme_set(theme_bw(base_size = 14))
##包含了237名艾滋病患者的基因型、感染时间、诊断时间、死亡时间等信息。

data("aidssi")
head(aidssi)
si<-aidssi

##定义一个转换矩阵,2表示竞争风险的大小(数量)
tmat<-trans.comprisk(2,names=c("event-free","AIDS","SI"))

si$stat1 <-as.numeric(si$status==1)
si$stat2 <-as.numeric(si$status==2)

##msprep: Function to prepare dataset for multi-state modeling
silong<-msprep(time=c(NA,"time","time"),status = c(NA,"stat1","stat2"),data=si,keep = "ccr5",trans=tmat)

##扩展协变量
silong<-expand.covs(silong,"ccr5")
##~: 用于构建公式;y~x1+x2
##拟合竞争风险的降秩比例风险模型

##strata实现分层抽样,产生分成变量
##使用strata(分层)变量的目的是为了处理违反比例风险假设
##(proportional hazards assumption)的情况
##Surv表示生存时间和生存状态的数据格式
##自变量是所需要考虑的协变量,例子里的是位点是否突变
c1<-coxph(Surv(time,status)~ccr5WM.1+ccr5WM.2+strata(trans),data=silong)

##ww是特定数据(观测值),可以通过调整来实现敏感性分析
WW<-data.frame(ccr5WM.1=c(0,0),ccr5WM.2=c(0,0),trans=c(1,2),strata=c(1,2))
#msfit函数根据拟合好的模型c1和新数据WW来计算特定于受试者的过渡危险及其(协)方差
msf.WW<-msfit(object = c1,newdata = WW,trans=tmat)
plot(msf.WW,use.ggplot=TRUE)

 结果图标:

 mstate多状态模型使用方法_第3张图片

你可能感兴趣的:(r语言,回归)