95% ДИ для оценки ED50 из логистической регрессии - PullRequest
0 голосов
/ 24 февраля 2019

Я довольно новичок в использовании R и надеялся получить помощь по следующей проблеме. Я оценил CI и SD для оценки ED50, полученной из логистической GLMM.Для этого я сделал следующее:

Указал GLMM:

gmod9 = glmer(
  BetterNot ~ relPHQADS * baseline_cat + (1 | ID),
  family = binomial,
  data = Panda.Clean,
  control = glmerControl(optimizer = "bobyqa", optCtrl = list(maxfun = 2e5))
)

Исправил коэффициенты:

fc <- fixef(gmod9)

Оценил ED50 на каждом уровне категориальной переменной(baseline_cat):

mild <- -(fc[1]) / fc[2]
mod  <- -(fc[1] + fc[3]) / (fc[2] + fc[5])
sev  <- -(fc[1] + fc[4]) / (fc[2] + fc[6])

Используется начальная загрузка для определения SD и CI для каждой оценки ED50 (как сделано для мягкого уровня baseline_cat ниже):

nboot    <- 1000
booted50 <- numeric(nboot)

for(i in 1:nboot){

 y    <- unlist(simulate(gmod9))
 bmod <- refit(gmod9, y)
 fc   <- fixef(bmod)
 booted50[i] <- -(fc[1])/fc[2]

}
sd.mild <- sd(booted50)
ci.mild <- quantile(booted50, c(0.025, 0.975))

Я хотел бы сделать то же самое для другого набора данных, используя логистический GLM.

GLM:

gmod9 <- glm(BetterNot ~ absPHQADS + baseline_cat, family = binomial, data = Cobalt.Clean)
cc <- coef(gmod9)

Оценки ED50 рассчитываются следующим образом:

mild <- -(cc[1]) / cc[2]
mod  <- -(cc[1] + cc[3]) / cc[2]
sev  <- -(cc[1] + cc[4]) / cc[2]

Однако, когда я пытаюсь запустить тот же загрузчик, что и выше, выдается следующее сообщение об ошибке:

Error in UseMethod("refit") : 
  no applicable method for 'refit' applied to an object of class "c('glm', 'lm')"

Как мне изменить загрузчик, чтобы получить 95% CI и SD длямодель glm?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...