Как использовать Betafix с пакетом Coxphw в R? - PullRequest
0 голосов
/ 22 февраля 2020

Я пытаюсь использовать пакет coxphw, чтобы соответствовать взвешенной модели Кокса и заставить соответствие для конкретной бета-версии FC быть больше 0.

Когда я ввожу код:

wcox.m <- coxphw( Surv(CCE,Status) ~ Y1RT + Y1 + Y1SQ + Y1*B1 + B2 + B3 + B4 + B5 + Y1*B6 + C2 + C3 + LEG + FC + Y1*G,
                  betafix = c(NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 0.16, NA),
                  data = d, jack = TRUE)

Я получаю ошибку:

«Ошибка в IOARRAY [2,] <- исправлено: количество заменяемых элементов не кратно длине замены» </p>

Я думаю, что проблема может быть в терминах взаимодействия? Я попытался явно указать линейные члены и члены взаимодействия (как показано ниже), но получил ту же ошибку, что и выше.

wcox.m2<-coxphw( Surv(CCE,Status)~ Y1RT + Y1 + Y1SQ + BASC + B1 + Y1*B1 + B2 + B3 + B4 + B5 + B6 + Y1*B6 + C2+ C3 + LEG + FC +G + Y1*G,
                 betafix = c(NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 0.16, NA),
                 data = d, jack = TRUE)

Добавление или удаление NA из вектора бетафикса (в любом случае) дает ошибку:

«Ошибка в coxphw (Surv (Cumulative_Credits_Earned, Status_Variable) ~ Y1RT +: число модельных терминов в формуле и длина бетафикса должны быть идентичны».

Любые предложения ?

Пример кода для генерации проблемы:

set.seed(5)
library(coxphw)
library(coxed)
simdata <- sim.survdata(N=1000, T=100, num.data.frames=1)
model1 <- coxphw(Surv(y, failed) ~ X1 + X2 + X3+ X1*X2,betafix = c(NA, NA, 0.3), data=simdata$data)
model2 <- coxphw(Surv(y, failed) ~ X1 + X2 + X3+ X1*X2,betafix = c(NA, NA, NA, 0.3), data=simdata$data)
model3 <- coxphw(Surv(y, failed) ~ X1 + X2 + X3+ X1*X2,betafix = c(NA,NA,NA, NA, 0.3), data=simdata$data)

Редактировать: я отправил письмо создателю пакета, который порекомендовал создать новую переменную, т.е. x1x2 <-x1 $ data * x2 $ данные и вызов этого вместо x1 * x2 в формуле. </p>

...