2015-04-28 1 views
0

я борюсь с некоторыми данными, и я получаю сообщение об ошибке, и я не могу понять, почему ...R glm.nb Ошибка в х [хорошо,, падение = 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 ... 

Cheers!

ответ

0

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

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

или

initial <- transform(initial, 
        total=Rest+Count, 
        prop=Count/(Rest+Count)) 
model <- glm(prop ~ Region*Plasmid, weights=total, 
      family=binomial, data=initial) 
+0

Спасибо. В конце концов я использовал квазибиномы, поскольку мне казалось, что мне было меньше жалоб –