R glm.nb x[good, , drop = FALSE] 错误:(下标)逻辑下标太长

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

我正在处理一些数据,但出现错误,我不知道为什么...

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 来 link 我的正数计数到我的负数计数。所以这就是我上面所做的。我之前读到这个错误可能是由于缺少数据点,但一切都很好。有没有人有什么有用的想法?

'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 ...

干杯!

您对二项式模型和负二项式模型之间的区别感到困惑;这是一个常见的混淆。对于比例,您应该使用二项式(而不是负二项式)模型...

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)