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