使用的是cmprsk包,本例子仍然使用casebase包自带的bmtcrr数据集,将复发(Status = 1)定义为结局事件,将因为移植不良反应死亡,定义为竞争风险事件(Status = 2)。数据包如下:
第一步:加载包并读取数据
library(cmprsk) # 加载包
library(survminer) # 加载包
library(tidyverse)
library(readxl)
bmtcrr <- read_excel("/Users/xujun/Downloads/bmtcrr.xlsx") # 导入数据
第二步:预览数据,并转换
View(bmtcrr) # 预览数据集
bmtcrr$sex <- factor(bmtcrr$sex, levels = c(0,1),
labels = c("male", "female"))
#首先,将分类变量因子化,设置为哑变量。
bmtcrr$sex <- factor(bmtcrr$sex) #将Sex变量因子化
bmtcrr$disease <- factor(bmtcrr$disease) #将Sex变量因子化
bmtcrr$age <- factor(bmtcrr$age) #将D变量因子化
bmtcrr$phase <- factor(bmtcrr$phase) #将Phase变量因子化
bmtcrr$source <- factor(bmtcrr$source) #将Source变量因子化
第三步:所有自变量放在一个数据框里
covs <- subset(bmtcrr, select = - c(ftime, status)) #对数据进行筛选,只保留ftime和Status之外的变量
covs[, c(1:3, 5)] <- lapply(covs[, c(1:3, 5)], as.integer) #将第1-3和第5列变量强制转为整数型
str(covs) #检查数据框中的变量
第四步:建立多因素分析模型
#指定failcode=1, cencode=0, 分别代表结局事件1与截尾0,其他默认为竞争风险事件2。
f2 <- crr(bmtcrr$ftime, bmtcrr$status, covs, failcode = 1, cencode = 0) #建立多因素分析模型
summary(f2) #展示结果
结果解读:在控制了竞争事件后,phase变量(疾病阶段),是患者复发的独立影响因素(P值 = 0.00052),HR值为1.514,95%CI为1.198-1.91。
原创文章(本站视频密码:66668888),作者:xujunzju,如若转载,请注明出处:https://zyicu.cn/?p=18543