| r2 {sjstats} | R Documentation |
Compute R-squared values of linear (mixed) models, or
pseudo-R-squared values for generalized linear (mixed) models, or a
Bayesian version of R-squared for regression models for stanreg
and brmsfit objects.
r2(x, n = NULL, loo = FALSE)
x |
Fitted model of class |
n |
Optional, a |
loo |
Logical, if |
For linear models, the r-squared and adjusted r-squared value is returned,
as provided by the summary-function.
For linear mixed models, an r-squared approximation by computing the
correlation between the fitted and observed values, as suggested by
Byrnes (2008), is returned as well as a simplified version of
the Omega-squared value (1 - (residual variance / response variance),
Xu (2003), Nakagawa, Schielzeth 2013), unless n
is specified.
If n is given, for linear mixed models pseudo r-squared measures based
on the variances of random intercept (tau 00, between-group-variance)
and random slope (tau 11, random-slope-variance), as well as the
r-squared statistics as proposed by Snijders and Bosker 2012 and
the Omega-squared value (1 - (residual variance full model / residual
variance null model)) as suggested by Xu (2003) are returned.
For generalized linear models, Cox & Snell's and Nagelkerke's
pseudo r-squared values are returned.
For generalized linear mixed models, the coefficient of determination
as suggested by Tjur (2009) (see also cod). Note
that Tjur's D is restricted to models with binary response.
The ("unadjusted") r-squared value and its standard error for
brmsfit or stanreg objects are robust measures, i.e.
the median is used to compute r-squared, and the median absolute
deviation as the measure of variability. If loo = TRUE,
a LOO-adjusted r-squared is calculated, which comes conceptionally
closer to an adjusted r-squared measure.
More ways to compute coefficients of determination are shown
in this great GLMM faq.
Furthermore, see r.squaredGLMM or
rsquared for conditional and marginal
r-squared values for GLMM's.
For linear models, the r-squared and adjusted r-squared values.
For linear mixed models, the r-squared and Omega-squared values.
For glm objects, Cox & Snell's and Nagelkerke's pseudo r-squared values.
For glmerMod objects, Tjur's coefficient of determination.
For brmsfit or stanreg objects, the Bayesian version of r-squared is computed, calling rstantools::bayes_R2().
If loo = TRUE, for brmsfit or stanreg objects a LOO-adjusted version of r-squared is returned.
If n is given, the Pseudo-R2 statistic is the proportion of
explained variance in the random effect after adding co-variates or
predictors to the model, or in short: the proportion of the explained
variance in the random effect of the full (conditional) model x
compared to the null (unconditional) model n.
The Omega-squared statistics, if n is given, is 1 - the proportion
of the residual variance of the full model compared to the null model's
residual variance, or in short: the the proportion of the residual
variation explained by the covariates.
The r-squared statistics for linear mixed models, if the unconditional
model is also specified (see n), is the difference of the total
variance of the null and full model divided by the total variance of
the null model.
Alternative ways to assess the "goodness-of-fit" is to compare the ICC
of the null model with the ICC of the full model (see icc).
Bolker B et al. (2017): GLMM FAQ.
Byrnes, J. 2008. Re: Coefficient of determination (R^2) when using lme() (https://stat.ethz.ch/pipermail/r-sig-mixed-models/2008q2/000713.html)
Kwok OM, Underhill AT, Berry JW, Luo W, Elliott TR, Yoon M. 2008. Analyzing Longitudinal Data with Multilevel Models: An Example with Individuals Living with Lower Extremity Intra-Articular Fractures. Rehabilitation Psychology 53(3): 370–86. doi: 10.1037/a0012765
Nakagawa S, 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. doi: 10.1111/j.2041-210x.2012.00261.x
Rabe-Hesketh S, Skrondal A. 2012. Multilevel and longitudinal modeling using Stata. 3rd ed. College Station, Tex: Stata Press Publication
Raudenbush SW, Bryk AS. 2002. Hierarchical linear models: applications and data analysis methods. 2nd ed. Thousand Oaks: Sage Publications
Snijders TAB, Bosker RJ. 2012. Multilevel analysis: an introduction to basic and advanced multilevel modeling. 2nd ed. Los Angeles: Sage
Xu, R. 2003. Measuring explained variation in linear mixed effects models. Statist. Med. 22:3527-3541. doi: 10.1002/sim.1572
Tjur T. 2009. Coefficients of determination in logistic regression models - a new proposal: The coefficient of discrimination. The American Statistician, 63(4): 366-372
rmse for more methods to assess model quality.
library(sjmisc)
library(lme4)
fit <- lmer(Reaction ~ Days + (Days | Subject), sleepstudy)
r2(fit)
data(efc)
fit <- lm(barthtot ~ c160age + c12hour, data = efc)
r2(fit)
# Pseudo-R-squared values
efc$services <- ifelse(efc$tot_sc_e > 0, 1, 0)
fit <- glm(services ~ neg_c_7 + c161sex + e42dep,
data = efc, family = binomial(link = "logit"))
r2(fit)
# Pseudo-R-squared values for random effect variances
fit <- lmer(Reaction ~ Days + (Days | Subject), sleepstudy)
fit.null <- lmer(Reaction ~ 1 + (Days | Subject), sleepstudy)
r2(fit, fit.null)