Mantel-Byar 检验和 Simon-Makuch 图用于 R 中时间相关协变量的生存分析
Mantel-Byar test and Simon-Makuch plot for survival analysis with time-dependent covariate in R
我正在尝试使用 Mantel-Byar test and then adding the Simon-Makuch survival plot in R, using the Rcmdr 程序包对依赖于时间的协变量进行生存分析。
遗憾的是相应的R文档不完整,我卡住了。
对应的mock数据集如下:
id <- c(1, 2, 3, 4)
death <- c(0, 1, 0, 1)
death_days <- c(31, 59, 46, 41)
nonfatal_event <- c(0, 1, 1, 0)
nonfatal_event_days <- c(31, 51, 41, 41)
dataset <- data.frame(id, death, death_days, nonfatal_event, nonfatal_event_days)
我应该如何进行下一步?
我发现在安装 Rcmdr
和 RcmdrPlugin.EZR
包后,我需要调用 Rcmdr
包,然后从工具中调用 RcmdrPlugin.EZR
菜单。
然后,我需要加载数据集,调用具有时间相关协变量的 Cox 比例风险回归,最后首先调用 Mantel-Byar 检验,然后调用 Simon-Makuch 图。
下面提供了示例代码,可以在R Commander中直接调用。
#####Cox proportional hazard regression with time-dependent covariate#####
library(survival, pos=15)
library(aod, pos=16)
TempDF <- Dataset
TempTD <- stsplit(TempDF, TempDF$death_days, TempDF$death,
TempDF$nonfatal_event_days, TempDF$nonfatal_event, TempDF$death_days)
CoxModel.1 <- coxph(Surv(start_td, stop_td, endpoint_td==1) ~ covariate_td,
data=TempTD, method="breslow")
res <- NULL
(res <- summary(CoxModel.1))
cox.table <- NULL
cox.table <- signif(cbind(t(res$conf.int[,c(1,3,4)]),
p.value=res$coefficients[,5]), digits=4)
rownames(cox.table) <- rownames(res$coefficients)
colnames(cox.table) <- gettext(domain="R-RcmdrPlugin.EZR",c("Hazard ratio",
"Lower 95%CI", "Upper 95%CI", "p.value"))
cox.table
waldtest(CoxModel.1)
windows(width=7, height=7); par(lwd=1, las=1, family="sans", cex=1,
mgp=c(3.0,1,0))
oldpar <- par(oma=c(0,0,3,0), mfrow=c(1,1))
plot(cox.zph(CoxModel.1), df=2)
par(oldpar)
print(cox.zph(CoxModel.1))
#####Mantel-Byer test#####
Mantel.Byar(Group = "covariate_td", Event = TempTD$endpoint_td,
StartTime = TempTD$start_td, StopTime = TempTD$stop_td,
method = c("SAS", "Tominaga"), plot=0, landmark=0)
#####Simon-Makuch plot#####
Mantel.Byar(Group = "covariate_td", Event = TempTD$endpoint_td,
StartTime = TempTD$start_td, StopTime = TempTD$stop_td,
method = c("SAS", "Tominaga"), plot=1, landmark=0)
我正在尝试使用 Mantel-Byar test and then adding the Simon-Makuch survival plot in R, using the Rcmdr 程序包对依赖于时间的协变量进行生存分析。
遗憾的是相应的R文档不完整,我卡住了。
对应的mock数据集如下:
id <- c(1, 2, 3, 4)
death <- c(0, 1, 0, 1)
death_days <- c(31, 59, 46, 41)
nonfatal_event <- c(0, 1, 1, 0)
nonfatal_event_days <- c(31, 51, 41, 41)
dataset <- data.frame(id, death, death_days, nonfatal_event, nonfatal_event_days)
我应该如何进行下一步?
我发现在安装 Rcmdr
和 RcmdrPlugin.EZR
包后,我需要调用 Rcmdr
包,然后从工具中调用 RcmdrPlugin.EZR
菜单。
然后,我需要加载数据集,调用具有时间相关协变量的 Cox 比例风险回归,最后首先调用 Mantel-Byar 检验,然后调用 Simon-Makuch 图。
下面提供了示例代码,可以在R Commander中直接调用。
#####Cox proportional hazard regression with time-dependent covariate#####
library(survival, pos=15)
library(aod, pos=16)
TempDF <- Dataset
TempTD <- stsplit(TempDF, TempDF$death_days, TempDF$death,
TempDF$nonfatal_event_days, TempDF$nonfatal_event, TempDF$death_days)
CoxModel.1 <- coxph(Surv(start_td, stop_td, endpoint_td==1) ~ covariate_td,
data=TempTD, method="breslow")
res <- NULL
(res <- summary(CoxModel.1))
cox.table <- NULL
cox.table <- signif(cbind(t(res$conf.int[,c(1,3,4)]),
p.value=res$coefficients[,5]), digits=4)
rownames(cox.table) <- rownames(res$coefficients)
colnames(cox.table) <- gettext(domain="R-RcmdrPlugin.EZR",c("Hazard ratio",
"Lower 95%CI", "Upper 95%CI", "p.value"))
cox.table
waldtest(CoxModel.1)
windows(width=7, height=7); par(lwd=1, las=1, family="sans", cex=1,
mgp=c(3.0,1,0))
oldpar <- par(oma=c(0,0,3,0), mfrow=c(1,1))
plot(cox.zph(CoxModel.1), df=2)
par(oldpar)
print(cox.zph(CoxModel.1))
#####Mantel-Byer test#####
Mantel.Byar(Group = "covariate_td", Event = TempTD$endpoint_td,
StartTime = TempTD$start_td, StopTime = TempTD$stop_td,
method = c("SAS", "Tominaga"), plot=0, landmark=0)
#####Simon-Makuch plot#####
Mantel.Byar(Group = "covariate_td", Event = TempTD$endpoint_td,
StartTime = TempTD$start_td, StopTime = TempTD$stop_td,
method = c("SAS", "Tominaga"), plot=1, landmark=0)