Я хочу соответствовать модели конкурирующих рисков Fine and Gray с возрастом в качестве шкалы времени, а также с усечением влево и цензурой справа. Сначала я снабдил модель функцией «finegray» из пакета выживания, а затем установил модель Кокса с ковариатами. Однако, поскольку это не очень эффективно с точки зрения вычислений, а у меня очень большой набор данных, я также снабдил модель функцией «FGR» из пакета cmprsk (который гораздо более эффективен с точки зрения вычислений).
Возраст - возраст при входе, follow.up.age - это возраст на момент события / цензуры, а comp.event - результат конкурирующего события с основным результатом «eskd» (кодируется 1), а конкурирующий результат - «смерть» (кодируется 2). Цензура кодируется как 0.
Обе модели дают мне коэффициенты, но, к сожалению, коэффициенты для двух моделей не совпадают, когда я запускаю их на одной и той же выборке из 1000 пациентов из набора данных. Мне особенно интересно, какой из них дает наиболее правильные оценки коэффициентов.
Используя следующую кодировку:
matrix <- matrix(c(1,2,3,4,5,6,7,8,9,10,
3,6,3,2,5,4,7,2,8,2,
0.8,0.6,0.4,0.25,0.16,0.67,0.48,0.7,0.8,0.78,
60,55,61,62,70,49,59,63,62,64,
70,66,63,70,82,71,65,85,64,72,
0,2,1,0,1,1,0,1,2,0),
nrow=10,ncol=6)
df <- data.frame(matrix)
colnames(df) <- c("id","x","y","age","follow.up.age","comp.event")
df$comp.event1 <- factor(df$comp.event, 0:2, labels=c("censor", "eskd", "death"))
###Fitting the model with finegray###
library(survival)
dataweight1 <- finegray(Surv(age, follow.up.age,comp.event1) ~ .,id=id, data=df, etype="eskd")
mod.cox <- coxph(Surv(fgstart,fgstop,fgstatus)~x+y,data=dataweight1,weight=fgwt,x=T,y=T)
###Fitting the model with FGR###
library(cmprsk)
library(rms);
library(riskRegression)
library(prodlim)
library(pec)
mod.fgr<- FGR(Hist(follow.up.age, comp.event, entry=age)~x+y, data = df, cause = 1)
Любая помощь приветствуется! Заранее спасибо.