我想从事件风险回归::FGR()竞争风险模型对象中提取观察到的和预测的估计。
以下是一些模拟数据:
library(simstudy)
library(data.table)
library(survival)
library(riskRegression)
library(cmprsk)
library(prodlim)
#Generate time to event data
d1 <- defData(varname = "x1", formula = .5, dist = "binary")
d1 <- defData(d1, "x2", .5, dist = "binary")
head(dtSurv)
f <- "(time==censor)*0 + (time==event_1)*1 + (time==event_2)*2 + (time==event_3)*3"
cdef <- defDataAdd(varname = "time",
formula = "pmin(censor, event_1, event_2, event_3)", dist = "nonrandom")
cdef <- defDataAdd(varname = "time",
formula = "pmin(censor, event_1, event_2, event_3)", dist = "nonrandom")
cdef <- defDataAdd(cdef, varname = "event",
formula = f,
dist = "nonrandom")
dtSurv_final <- addCompRisk(dtSurv,
events = c("event_1", "event_2", "event_3", "censor"),
timeName = "time", censorName = "censor")
head(dtSurv_final)
#Fit subdistribution model
crr<-riskRegression::FGR(Hist(time, event)~ x1+x2 ,data=dtSurv_final, cause=1)
crr.object<-riskRegression::Score(list(model1=crr),
Hist(time,event)~1,data=dtSurv_final, cause=1, times=30, plots="cal")
#Store model output
(cal<-crr.object[["Calibration"]]$plotframe %>% as.data.frame())
我尝试从
cal
中提取观察到的和预测的风险,但未能做到这一点。
对于“观察到的”累积发生率,您可以简单地使用
cuminc
包的 cmprsk
功能。
现在这取决于“预测累积发生率”的含义。如果您只是在给定一组协变量和 FGR 模型的情况下寻找 t 处特定原因的故障概率,则可以直接使用
predictRisk
包中优秀的 riskRegression
函数。
如果您想绘制特定原因故障概率的边际估计,则可以使用
adjustedcif
包的 adjustedCurves
函数。