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

时间:2015-04-28 11:55:19

标签: r glm

我正在与一些数据斗争,但我得到一个错误,我无法理解为什么......

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

干杯!

1 个答案:

答案 0 :(得分:1)

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

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)