Я пытаюсь использовать пакет 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>