首页 > 解决方案 > R:在 RandomForestSRC 中用时变协变量拟合生存树

问题描述

在 LTRCtrees 包中,可以根据以下示例将决策树拟合到 Surv 函数的特殊格式:Surv(time, time2, event)

set.seed(0)
library(survival)
library(LTRCtrees)
## Create the start-stop-event triplet needed for coxph and LTRC trees
first <- with(pbcseq, c(TRUE, diff(id) !=0)) #first id for each subject
last <- c(first[-1], TRUE) #last id
time1 <- with(pbcseq, ifelse(first, 0, day))
time2 <- with(pbcseq, ifelse(last, futime, c(day[-1], 0)))
event <- with(pbcseq, ifelse(last, status, 0))
event <- 1*(event==2)

pbcseq$time1 <- time1
pbcseq$time2 <- time2
pbcseq$event <-  event

## Fit the Cox model and LTRC trees with time-varying covariates
fit.cox <- coxph(Surv(time1, time2, event) ~ age + sex + log(bili), pbcseq)
LTRCIT.fit <- LTRCIT(Surv(time1, time2, event) ~ age + sex + log(bili), pbcseq)
LTRCART.fit <- LTRCART(Surv(time1, time2, event) ~ age + sex + log(bili), pbcseq)

是否可以使用 RandomForestSRC 库在随机森林上使用相同的功能

library(randomForestSRC)
RF.fit <- rfsrc(Surv(time1, time2, event) ~ age + sex + log(bili), data=pbcseq, nsplit = 3, ntree = 100, importance = TRUE)

这会产生错误:

Error in parseFormula(formula, data, ytry) : 
  Survival formula incorrectly specified.

标签: rrandom-forestsurvival-analysis

解决方案


Wongvibulsin、Wu 和 Zeger (2019) 的这篇论文扩展了 randomForestSRC 包以处理 TVC,但您可能需要联系作者以获取任何相关代码。


推荐阅读