В функции R glm () вы можете подогнать логистическую регрессию (с помощью family = binomial), используя «спецификацию столбца» переменной ответа, например:
glm(cbind(success, (n - sucess)) ~ 1, family = binomial, ...)
Документация brmsformula (поддополнительная информация об ответе) утверждает, что в brm () то же самое может быть достигнуто с помощью:
brm(success | trials(n) ~ 1, family = binomial, ...)
Это работает, как видно из следующего (по общему признанию довольно глупого) примера:
set.seed(1)
n_rows = 10
success = abs(round(rnorm(n_rows), 1) * n_rows)
n = success * 2
data = data.frame(success, n)
library(brms)
model = brm(success | trials(n) ~ 1,
data = data,
family = binomial("logit"))
Однако, когда я увеличиваю n_rows
, скажем, до 100, я получаю следующее сообщение об ошибке:
Error: Family 'binomial' requires integer responses.
Может кто-нибудь понять, почему это так?В glm данные с n_rows = 100
работают нормально.
(Очевидно, что мои реальные данные (где также возникает ошибка) выглядят иначе. Мне просто удалось воссоздать их вот так).
Любая помощь очень приветствуется!