семейный брином brms: странное поведение с испытаниями в формуле?Ошибка: ... требуется целочисленный ответ - PullRequest
1 голос
/ 23 сентября 2019

В функции 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 работают нормально.

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

Любая помощь очень приветствуется!

...