2017-05-30 308 views
0

我正在使用lmer函数的混合模型。我想获得所有固定和随机效应的p值。我能够使用不同的方法获得固定效果的p值,但我没有发现任何随机效果。无论我在互联网上找到什么方法,都要为它创建一个空模型,然后通过比较得到p值。我可以有一种方法,我不需要制作另一种模型? 我的模型看起来像: mod1 = lmer(Out〜Var1 +(1 + Var2 | Var3),data = dataset)lmer中的随机效应的p值

回答

0

您必须通过模型比较来做到这些,据我所知。 lmerTest软件包有一个名为step的功能,它将根据许多不同的测试将模型简化为重要参数(固定和随机)。文档并不完全清楚所有事情的完成情况,所以我更喜欢使用模型比较来获得特定的测试。

对于你的模型,你可以通过指定测试随机斜率:

mod0 <- lmer(Out ~ Var1 + (1 + Var2 | Var3), data = dataset, REML=TRUE) 
mod1 <- lmer(Out ~ Var1 + (1 | Var3), data = dataset, REML=TRUE) 
anova(mod0, mod1, refit=FALSE) 

这将显示您的数似然测试和检验统计量(卡方分布)。但是您在这里测试两个参数:Var2的随机斜率以及随机斜率和随机截距之间的协方差。所以你需要一个p值调整:

1-(.5*pchisq(anova(mod0,mod1, refit=FALSE)$Chisq[[2]],df=2)+ 
    .5*pchisq(anova(mod0,mod1, refit=FALSE)$Chisq[[2]],df=1)) 

更多关于这些测试herehere

+0

感谢您的回答。但是,我正在寻找一个我不需要比较的答案。在寻找同样的东西的时候,我有了一个新的方法。请对此评论我是否正确。这里是方法: 我使用ranef()函数和标准错误计算随机效应系数,使用arm包下的se.ranef()函数。现在,系数/标准误差会给我t值。使用2 * pt(-abs(tval.ranefs),df = dof),我正在计算p值。我唯一的疑问是关于自由度。你能建议我,我应该采取什么作为自由度随机效应? –