我正在尝试从summary
使用最大似然 (ML) 拟合的 HLM 模型中访问 AIC、BIC、logLik 和偏差数据lme4::lmer
,并与使用受限最大似然 (REML) 拟合的基本相同的模型相结合。从返回的对象的结构lmer
是summary
一团糟,我无法找出这些数据的存储位置/方式。
[更新:]根据我得到的回复,我更新了代码以反映所取得的进展:
代码示例:
# Least working example
library(lme4)
library(lmerTest)
df <- lme4::sleepstudy
names(df)
# Example model
model <- lmer(Reaction ~ (1|Subject), df, REML = TRUE)
information_criterion <- data.frame(
"AIC" = AIC(model),
"BIC" = BIC(model),
"logLik" = logLik(model),
"deviance" = deviance(model, REML=FALSE),
"df.residual" = df.residual(model)
)
mod_sum <- list(summary(model), information_criterion)
我本质上想修改输出以类似于summary
if的输出REML = FALSE
(不工作):
> mod_sum
Linear mixed model fit by REML. t-tests use Satterthwaite's method [
lmerModLmerTest]
Formula: Reaction ~ (1 | Subject)
Data: df
## Information criterion injected here: ##########################
AIC BIC logLik deviance df.resid # <-- THESE ARE THE LINES I WANT
1916.5 1926.1 -955.3 1910.5 177 # <--
##################################################################
REML criterion at convergence: 1904.3
Scaled residuals:
Min 1Q Median 3Q Max
-2.4983 -0.5501 -0.1476 0.5123 3.3446
Random effects:
Groups Name Variance Std.Dev.
Subject (Intercept) 1278 35.75
Residual 1959 44.26
Number of obs: 180, groups: Subject, 18
Fixed effects:
Estimate Std. Error df t value Pr(>|t|)
(Intercept) 298.51 9.05 17.00 32.98 <2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1