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 模型可能工作正常。
我收到以下错误:
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 模型可能工作正常。