# Proportion of explained variance in a mixed-effects model

I do not know if this has been asked before, but I do not found anything about it. My question is if anyone can provide a good reference to learn how to obtain the proportion of variance explained by each one of the fixed and random factors in a mixed-effects model.

• Good question, but I don't have (a reference for) a good answer. There's more than one level of variation in mixed models, so there's more than one component of variance to explain, plus it's debateable whether random effects can really be said to 'explain' variance. I think the whole concept of 'proportion of variance explained' is less useful in mixed models. Feb 15, 2011 at 9:18
• Here is some more discussion on the topic: stat.ethz.ch/pipermail/r-sig-mixed-models/2010q1/003363.html Jul 19, 2011 at 19:49
• Gelmans "Bayesian ANOVA" approach might also be useful. May 3, 2017 at 13:22
• you can use glmm.hp function in glmm.hp package in R Apr 3 at 3:14

I can provide some references:

Xu, R. (2003). Measuring explained variation in linear mixed effects models. Statistics in Medicine, 22, 3527-3541. DOI:10.1002/sim.1572

Edwards, L. J., Muller, K. E., Wolfinger, R. D., Qaqish, B. F., & Schabenberger, O. (2008). An $R^2$ statistic for fixed effects in the linear mixed model. Statistics in Medicine, 27, 6137-6157. DOI:10.1002/sim.3429

Hössjer, O. (2008). On the coefficient of determination for mixed regression models. Journal of Statistical Planning and Inference, 138, 3022-3038. DOI:10.1016/j.jspi.2007.11.010

Nakagawa, S., & Schielzeth, H. (2013). A general and simple method for obtaining $R^2$ from generalized linear mixed-effects models. Methods in Ecology and Evolution, 4, 133-142. DOI:10.1111/j.2041-210x.2012.00261.x

According to this blog post from 2013, the MuMIn package in R can provide R$^2$ values for mixed models ala an approach developed by Nakagawa & Schielzeth 2013$^1$ (which was mentioned in a previous answer).

#load packages
library(lme4)
library(MuMIn)

#Fit Model
m <- lmer(mpg ~ gear + disp + (1|cyl), data = mtcars)

#Determine R2:
r.squaredGLMM(m)

R2m       R2c
0.5476160 0.7150239


The output for functionr.squaredGLMM provides:

• R2m: marginal R squared value associated with fixed effects

• R2c conditional R2 value associated with fixed effects plus the random effects.

Note: a comment on the linked blog post suggests that an alternative Nakagawa & Schielzeth inspired approach developed by Jon Lefcheck (using the sem.model.fits function in the piecewiseSEM package) produced identical results. [So you have options :p].

• I did not test this latter function, but I did test the r.squaredGLMM() function in the MuMIn package and so can attest that it is still functional today (2018).

• As for the validity of this approach, I leave reading Nakagawa & Schielzeth (2013) (and follow-up article Johnson 2014$^2$) up to you.

1: Nakagawa, S., and Schielzeth, H. 2013. A general and simple method for obtaining R2 from generalized linear mixed‐effects models. Methods in Ecology and Evolution 4(2): 133-142.

2: Johnson, P. C. D. 2014 Extension of Nakagawa & Schielzeth’s R2GLMM to random slopes models. Methods in Ecology and Evolution 5: 44–946.

• Thanks @theforestecologist for your answer. I will have a look to the mentioned packages. May 25, 2018 at 5:47