R: glmer.nb 错误

R: glmer.nb error

我收到以下错误:

Error in if (family$family %in% c("quasibinomial", "quasipoisson", "quasi")) stop("\"quasi\" families cannot be used in glmer") : 
  argument is of length zero

当我 运行 如下所示的 glmm 负二项式模型时。

library(lme4)
nm <- glmer.nb(value~(1|replicate)+(1|family)+condition,data=cdat)

我有一个如下所示的数据集:

cdat
   condition family replicate value
1          c     20         1  60
2          c     20         2 131
3          c     20         3  84
4          c     21         1 179
5          c     21         2  98
6          c     21         3 107
7          c     27         1  80
8          c     27         2  72
9          c     27         3  84
10         c     30         1  87
11         c     30         2  81
12         c     30         3 120
13         l     20         1 136
14         l     20         2 101
15         l     20         3  88
16         l     21         1  83
17         l     21         2  52
18         l     21         3  77
19         l     27         1 136
20         l     27         2 110
21         l     27         3 126
22         l     30         1  69
23         l     30         2  77
24         l     30         3 115

str(cdat)
'data.frame':   24 obs. of  4 variables:
 $ condition: Factor w/ 2 levels "c","l": 1 1 1 1 1 1 1 1 1 1 ...
 $ family   : Factor w/ 4 levels "20","21","27",..: 1 1 1 2 2 2 3 3 3 4 ...
 $ replicate: Factor w/ 3 levels "1","2","3": 1 2 3 1 2 3 1 2 3 1 ...
 $ value      : int  60 131 84 179 98 107 80 72 84 87 ...

glmer.nb中没有family参数,无法更改。我通常有兴趣比较这两种情况,同时控制家庭和复制品之间的生物学差异。我希望我的模型是正确的。

负二项式是一种单向随机效应泊松模型,其中随机效应呈伽马分布。 family 参数隐含在对 glmer 的调用中:我想 glmer.nb 只是 glmer 的包装器,它在某处为调用提供 family=poisson 参数在深处。但是,在您的情况下,它不起作用:我不确定双向模型(您指定的方式)是否具有统计可能性。显然,glmer 解析您的请求的方式是尝试概括 nb 模型(正如我上面所说,它是一个过度分散的 poisson),它能做的最好的事情是那个 quasi 东西……然后失败了。

您可能想尝试使用您感兴趣的双向效应返回到泊松,看看它是否运行。

我无法通过从 CRAN 全新安装当前版本的 lme4 来复制该问题:

packageVersion("lme4")
## [1] ‘1.1.12’

library(lme4)
g1 <- glmer.nb(value~condition+(1|replicate)+(1|family),data=cdat)
## Generalized linear mixed model fit by maximum likelihood (Laplace
##   Approximation) [glmerMod]
##  Family: Negative Binomial(14.228)  ( log )
## Formula: value ~ condition + (1 | replicate) + (1 | family)
##    Data: cdat
##       AIC       BIC    logLik  deviance  df.resid 
##  236.4621  242.3524 -113.2311  226.4621        19 
## Random effects:
##  Groups    Name        Std.Dev.
##  family    (Intercept) 0       
##  replicate (Intercept) 0       
## Number of obs: 24, groups:  family, 4; replicate, 3
## Fixed Effects:
## (Intercept)   conditionl  
##     4.59090     -0.01105  
  • glmer.nb 估计两种随机效应的方差为零,对于如此小的数据集来说并不奇怪 - 通常需要 minimum 5 个水平才能获得合理的希望非零方差估计。
  • 我经常建议在均值很大(且方差不太大)时对转换后的数据使用线性模型,尽管我很欣赏使用为计数数据构建的模型很好......当形状参数远小于数据的平均值,这意味着大部分数据都在方差的二次项占主导地位的范围内,因此对数正态或 Gamma 模型可能工作正常。