我正在运行以下代码:
library(lme4)
library(nlme)
nest.reg2 <- glmer(SS ~ (bd|cond), family = "binomial",
data = combined2)
coef(nest.reg2)
summary(nest.reg2)
它产生以下输出:
- 系数
$cond
bd (Intercept)
LL -1.014698 1.286768
no -3.053920 4.486349
SS -5.300883 8.011879
- 摘要
Generalized linear mixed model fit by maximum likelihood (Laplace
Approximation) [glmerMod]
Family: binomial ( logit )
Formula: SS ~ (bd | cond)
Data: combined2
AIC BIC logLik deviance df.resid
1419.7 1439.7 -705.8 1411.7 1084
Scaled residuals:
Min 1Q Median 3Q Max
-8.0524 -0.8679 -0.4508 1.0735 2.2756
Random effects:
Groups Name Variance Std.Dev. Corr
cond (Intercept) 33.34 5.774
bd 13.54 3.680 -1.00
Number of obs: 1088, groups: cond, 3
Fixed effects:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -0.3053 0.1312 -2.327 0.02 *
我的问题是如何测试这个模型中每个系数的重要性?Summary函数似乎只提供截距的p值,而不是系数。
当我尝试anova(nest.reg2)
时,我什么都没得到,只是:
Analysis of Variance Table
Df Sum Sq Mean Sq F value
我尝试了这里提出的解决方案(如何在lme4混合模型中获得效应的p值(检验显著性)?)但无济于事。
为了澄清,cond
变量是一个有三个级别(SS
、no
和LL
)的因子,我相信coef
命令在每个级别上都会为连续的bd
变量生成系数,所以我要做的是测试这些系数的显著性。
这里有几个问题。
- 主要的一点是,你真的只能对固定效应系数进行显著性测试;您对模型进行了编码,没有固定的效果。你可能正在寻找
glmer(SS ~ bd + (1|cond), ...)
其将对CCD_ 8的水平之间的总体(群体水平)差异进行建模并且包括CCD_。
- 如果每个
cond
组中都有多个bd
水平,那么原则上也可以考虑cond
组之间治疗效果的差异:
glmer(SS ~ bd + (bd|cond), ...)
- 但是,您有另一个问题。在实践中,三组(即
cond
水平)实际上不足以估计各组之间的变异性。这就是为什么你在输出中看到-1.00的相关性,这表明你有一个奇异拟合(例如,请参阅此处了解更多讨论) - 因此,另一种可能性是将
cond
视为固定效应(调整cond
的对比度,使bd
的主要效应估计为各组的平均值,而不是cond
基线水平的效应)
glm(SS~bd*cond,contrasts=list(cond=contr.sum),...)