# [R] Extract random effect variances from lmer (lme4) model

GMAIL rosita21 at gmail.com
Mon Dec 8 22:15:57 CET 2014

```I have a mer object that has fixed and random effects (lmer).

How do I extract the variance or standard deviation estimates for the random and fixed effects? Here is a simplified version of my question:

pcrpred <- lmer(PCR ~ (1|TIME) + (1|ID), data = mydataPCRlong)

pcrpred

This gives a long output - not too long in this case. Anyway, how do I explicitly select the variance? I can I extract part of the output? I want the values themselves.

> pcrpred
Linear mixed model fit by REML ['merModLmerTest']
Formula: PCR ~ (1 | TIME) + (1 | ID)
Data: mydataPCRlong
REML criterion at convergence: 127761.9
Random effects:
Groups   Name        Std.Dev.
ID       (Intercept) 22031
TIME     (Intercept) 15182
Residual             33635
Number of obs: 5346, groups:  ID, 891; TIME, 6
Fixed Effects:
(Intercept)
26791

I also tried:
summary(pcrpred)

Linear mixed model fit by REML t-tests use Satterthwaite approximations to degrees of
freedom [merModLmerTest]
Formula: PCR ~ (1 | TIME) + (1 | ID)
Data: mydataPCRlong

REML criterion at convergence: 127761.9

Scaled residuals:
Min      1Q  Median      3Q     Max
-2.6822 -0.5974 -0.2283  0.5681  2.8165

Random effects:
Groups   Name        Variance  Std.Dev.
ID       (Intercept) 4.854e+08 22031
TIME     (Intercept) 2.305e+08 15182
Residual             1.131e+09 33635
Number of obs: 5346, groups:  ID, 891; TIME, 6

Fixed effects:
Estimate Std. Error        df t value Pr(>|t|)
(Intercept) 26790.662   6258.611     5.142   4.281  0.00738 **
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
> print(VarCorr(pcrpred),comp=c("Variance","Std.Dev."))
Groups   Name        Variance   Std.Dev.
ID       (Intercept)  485373501 22031
TIME     (Intercept)  230483110 15182
Residual             1131284840 33635

When I do:

print(VarCorr(pcrpred),comp=c(“Variance”,”Std.Dev.”))

I get:

Groups   Name        Variance   Std.Dev.
ID       (Intercept)  485373501 22031
TIME     (Intercept)  230483110 15182
Residual             1131284840 33635

And I searched in forums, but another command I found was:
summary(pcrpred)@REmat
however I get:

Error: trying to get slot “REmat" from an object (class "summary.merMod") that is not an S4 object

Can anyone

I have taken long looks at

str(study)
and there's nothing there! Also checked any extractor functions in the lme4 package to no avail. Please help!
[[alternative HTML version deleted]]

```