R glm.nb Ошибка в x[good, , drop = FALSE] : (нижний индекс) слишком длинный логический индекс

Я борюсь с некоторыми данными, и я получаю сообщение об ошибке, и я не могу понять, почему...

initial <-read.table....
library(Mass)

Все в порядке, пока:

glm.percent <- glm.nb(cbind(Count, Rest)~ Plasmid+Region*Plasmid, data=initial)

Error in x[good, , drop = FALSE] : (subscript) logical subscript too long

Итак, еще немного предыстории. Я хочу сравнить долю клеток в 6 тканевых слоях. Нет, я знаю, что мне нужно использовать целые числа в R для отрицательного бинома, и я читал, что мне нужно использовать cbind, чтобы связать мое положительное количество отсчетов с моим отрицательным количеством отсчетов. Итак, это то, что я сделал выше. Ранее я читал, что эта ошибка может быть связана с отсутствием точки данных, но все в порядке. У кого-нибудь есть полезные идеи?

'data.frame':   54 obs. of  4 variables:
 $ Plasmid: Factor w/ 2 levels "CTR","EXP": 2 2 2 2 2 2 2 2 2 2 ...
 $ Region : Factor w/ 6 levels "L0","L1","L2+3",..: 2 2 2 2 2 3 3 3 3 3 ...
 $ Count  : int  0 3 34 12 83 361 426 185 402 565 ...
 $ Rest   : int  464 592 306 482 791 103 169 155 92 309 ...

Ваше здоровье!


r glm
person Tadeusz Leliwa    schedule 28.04.2015    source источник


Ответы (1)


Вы не понимаете разницы между биномиальной и отрицательной биномиальной моделью; это обычная путаница. Для пропорций следует использовать биномиальную (не отрицательную биномиальную) модель...

model <- glm(cbind(Count, Rest)~ Region*Plasmid, 
             family=binomial, data=initial)

or

initial <- transform(initial,
                     total=Rest+Count,
                     prop=Count/(Rest+Count))
model <- glm(prop ~ Region*Plasmid, weights=total,
             family=binomial, data=initial)
person Ben Bolker    schedule 28.04.2015
comment
Спасибо. В конце концов я использовал квазибиномиал, так как он вызывал у меня наименьшее количество жалоб. - person Tadeusz Leliwa; 29.04.2015