r-如何获得嵌套logit-glmer模型中每个系数的p值(使用lme4)



我正在运行以下代码:

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变量是一个有三个级别(SSnoLL)的因子,我相信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),...)

相关内容

  • 没有找到相关文章

最新更新