These functions extracts random effect variances as well as
random-intercept-slope-correlation of mixed effects models.
Currently, merMod
, glmmTMB
,
stanreg
and brmsfit
objects are supported.
re_var(x) get_re_var(x, comp = c("tau.00", "tau.01", "tau.11", "rho.01", "sigma_2"))
x | Fitted mixed effects model (of class |
---|---|
comp | Name of the variance component to be returned. See 'Details'. |
get_re_var()
returns the value of the requested variance component,
re_var()
returns all random effects variances.
The random effect variances indicate the between- and within-group
variances as well as random-slope variance and random-slope-intercept
correlation. Use following values for comp
to get the particular
variance component:
"sigma_2"
Within-group (residual) variance
"tau.00"
Between-group-variance (variation between individual intercepts and average intercept)
"tau.11"
Random-slope-variance (variation between individual slopes and average slope)
"tau.01"
Random-Intercept-Slope-covariance
"rho.01"
Random-Intercept-Slope-correlation
The within-group-variance is affected by factors at level one, i.e. by the lower-level direct effects. Level two factors (i.e. cross-level direct effects) affect the between-group-variance. Cross-level interaction effects are group-level factors that explain the variance in random slopes (Aguinis et al. 2013).
Aguinis H, Gottfredson RK, Culpepper SA. 2013. Best-Practice Recommendations for Estimating Cross-Level Interaction Effects Using Multilevel Modeling. Journal of Management 39(6): 1490–1528 (doi: 10.1177/0149206313478188 )
library(lme4) fit1 <- lmer(Reaction ~ Days + (Days | Subject), sleepstudy) # all random effect variance components re_var(fit1)#> Within-group-variance: 654.941 #> Between-group-variance: 612.090 (Subject) #> Random-slope-variance: 35.072 (Subject.Days) #> Slope-Intercept-covariance: 9.604 (Subject) #> Slope-Intercept-correlation: 0.066 (Subject)# just the rand. slope-intercept covariance get_re_var(fit1, "tau.01")#> Subject #> 9.604334sleepstudy$mygrp <- sample(1:45, size = 180, replace = TRUE) fit2 <- lmer(Reaction ~ Days + (1 | mygrp) + (Days | Subject), sleepstudy) re_var(fit2)#> Within-group-variance: 605.877 #> Between-group-variance: 44.955 (mygrp) #> Between-group-variance: 615.539 (Subject) #> Random-slope-variance: 38.305 (Subject.Days) #> Slope-Intercept-covariance: 1.074 (Subject) #> Slope-Intercept-correlation: 0.007 (Subject)