R:glmer.nb错误

时间:2016-08-10 14:19:01

标签: r lme4

我收到以下错误:

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

family中没有glmer.nb参数,无法更改。我一般有兴趣比较这两个条件,同时控制家庭和重复之间的生物学差异。我希望我的模型是正确的。

2 个答案:

答案 0 :(得分:2)

我无法从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估计两种随机效应的零方差,对于如此小的数据集并不奇怪 - 通常需要5个级别的最小才能获得非零方差的合理希望估计。
  • 我经常建议在平均值很大(且差异不是太大)的情况下对变换后的数据使用线性模型,即使我很欣赏使用为计数数据构建的模型很好...当形状参数是远小于数据的平均值,这意味着大多数数据都在方差的二次项占主导地位的范围内,因此log-Normal或Gamma模型可能正常工作。

答案 1 :(得分:0)

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

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