![](/img/trans.png)
[英]How to calculate p-value from a linear mixed effect model created by lme4::lmer() using broom::tidy()?
[英]How do I find the p-value for my random effect in my linear mixed effect model?
我在 R 中運行以下代碼行:
model = lme(divedepth ~ oarea, random=~1|deployid, data=GDataTimes, method="REML")
summary(model)
我看到了這個結果:
Linear mixed-effects model fit by REML
Data: GDataTimes
AIC BIC logLik
2512718 2512791 -1256352
Random effects:
Formula: ~1 | deployid
(Intercept) Residual
StdDev: 9.426598 63.50004
Fixed effects: divedepth ~ oarea
Value Std.Error DF t-value p-value
(Intercept) 25.549003 3.171766 225541 8.055135 0.0000
oarea2 12.619669 0.828729 225541 15.227734 0.0000
oarea3 1.095290 0.979873 225541 1.117787 0.2637
oarea4 0.852045 0.492100 225541 1.731447 0.0834
oarea5 2.441955 0.587300 225541 4.157933 0.0000
[snip]
Number of Observations: 225554
Number of Groups: 9
但是,我找不到隨機變量的 p 值: deployID
。 我怎樣才能看到這個值?
正如評論中所述, GLMM FAQ 中有關於隨機效應顯着性檢驗的內容。 你絕對應該考慮:
這是一個示例,表明lme()
擬合和沒有隨機效應的相應lm()
模型具有相稱的對數似然(即,它們以可比較的方式計算)並且可以與anova()
進行比較:
加載包並模擬數據(零隨機效應方差)
library(lme4)
library(nlme)
set.seed(101)
dd <- data.frame(x = rnorm(120), f = factor(rep(1:3, 40)))
dd$y <- simulate(~ x + (1|f),
newdata = dd,
newparams = list(beta = rep(1, 2),
theta = 0,
sigma = 1))[[1]]
擬合模型(請注意,您不能將擬合 REML 的模型與沒有隨機效應的模型進行比較)。
m1 <- lme(y ~ x , random = ~ 1 | f, data = dd, method = "ML")
m0 <- lm(y ~ x, data = dd)
測試:
anova(m1, m0)
## Model df AIC BIC logLik Test L.Ratio p-value
## m1 1 4 328.4261 339.5761 -160.2131
## m0 2 3 326.4261 334.7886 -160.2131 1 vs 2 6.622332e-08 0.9998
這里的測試正確地識別出兩個模型是相同的,並給出了 1 的 p 值。
如果您使用lme4::lmer
而不是lme
您還有一些其他更准確(但速度更慢)的選項(用於基於模擬的測試的RLRsim
和PBmodcomp
包):請參閱 GLMM FAQ。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.