Я анализирую набор данных, в котором зарегистрировано ~ 10 особей, подвергнутых заданному лечению (Время) и смертности (Alive, Dead). glmer
использовался для моделирования данных, так как обработка была заблокирована (пробная версия). Из следующей модели я хочу предсказать Время, в течение которого умирает 50% людей.Как рассчитать LD50 от блеска?
Trial <- c(1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3)
Time <- c(2, 6, 9, 12, 15, 18, 21, 24, 1, 2, 3, 4, 5, 6, 1.5, 3, 4.5, 6, 39)
Alive <- c(10, 0, 0, 0, 0, 0, 0, 0, 6, 2, 8, 1, 0, 0, 4, 6, 1, 2, 0)
Dead <- c(0, 10, 6, 10, 10, 10, 7, 10, 0, 8, 1, 9, 10, 10, 5, 0, 8, 6, 10)
ostrinaA.glmm<- glmer(cbind(Alive, Dead)~Time+(1|Trial), family = binomial(link="logit"))
summary(ostrinaA.glmm)
Если бы я был просто моделирования с использованием glm
функции dose.p
из MASS
может быть использован. С другого форума я нашел обобщенный код для дозы.p.glmm от Bill Pikounis. Он выглядит следующим образом:
dose.p.glmm <- function(obj, cf = 1:2, p = 0.5) {
eta <- obj$family$linkfun(p)
b <- fixef(obj)[cf]
x.p <- (eta - b[1L])/b[2L]
names(x.p) <- paste("p = ", format(p), ":", sep = "")
pd <- -cbind(1, x.p)/b[2L]
SE <- sqrt(((pd %*% vcov(obj)[cf, cf]) * pd) %*% c(1, 1))
res <- structure(x.p, SE = SE, p = p)
class(res) <- "glm.dose"
res
}
Я новичок в кодировании и мне нужна помощь в настройке этого кода для моей модели. Моя попытка заключается в следующем:
dose.p.glmm <- function(ostrinaA.glmm, cf = 1:2, p = 0.5) {
eta <- ostrinaA.glmm$family$linkfun(p)
b <- fixef(ostrinaA.glmm)[cf]
x.p <- (eta - b[1L])/b[2L]
names(x.p) <- paste("p = ", format(p), ":", sep = "")
pd <- -cbind(1, x.p)/b[2L]
SE <- sqrt(((pd %*% vcov(obj)[cf, cf]) * pd) %*% c(1, 1))
res <- structure(x.p, SE = SE, p = p)
class(res) <- "glm.dose"
res
}
dose.p.glmm(ostrinaA.glmm, cf=1:2, p=0.5)
Error in ostrinaA.glmm$family : $ operator not defined for this S4 class
Любая помощь, корректирующая этот код для моей модели, будет принята с благодарностью.
Да, очень новое было бы правильным. Спасибо за ваш быстрый ответ, но у меня все еще есть проблемы. Я попробовал, как вы предложили, и теперь я возвращаю код ошибки: Ошибка: еще не реализованный метод для cbind2 (, ). - >> Попросите авторов пакета реализовать недостающую функцию. –
hamilthj