# r2: Compute the model's R2 In performance: Assessment of Regression Models Performance

 r2 R Documentation

## Compute the model's R2

### Description

Calculate the R2, also known as the coefficient of determination, value for different model objects. Depending on the model, R2, pseudo-R2, or marginal / adjusted R2 values are returned.

### Usage

```r2(model, ...)

## Default S3 method:
r2(model, ci = NULL, verbose = TRUE, ...)

## S3 method for class 'merMod'
r2(model, ci = NULL, tolerance = 1e-05, ...)
```

### Arguments

 `model` A statistical model. `...` Arguments passed down to the related r2-methods. `ci` Confidence interval level, as scalar. If `NULL` (default), no confidence intervals for R2 are calculated. `verbose` Logical. Should details about R2 and CI methods be given (`TRUE`) or not (`FALSE`)? `tolerance` Tolerance for singularity check of random effects, to decide whether to compute random effect variances for the conditional r-squared or not. Indicates up to which value the convergence result is accepted. When `r2_nakagawa()` returns a warning, stating that random effect variances can't be computed (and thus, the conditional r-squared is `NA`), decrease the tolerance-level. See also `check_singularity()`.

### Value

Returns a list containing values related to the most appropriate R2 for the given model (or `NULL` if no R2 could be extracted). See the list below:

• Logistic models: Tjur's R2

• General linear models: Nagelkerke's R2

• Models with zero-inflation: R2 for zero-inflated models

• Mixed models: Nakagawa's R2

• Bayesian models: R2 bayes

### Note

If there is no `r2()`-method defined for the given model class, `r2()` tries to return a "generic" r-quared value, calculated as following: `1-sum((y-y_hat)^2)/sum((y-y_bar)^2))`

`r2_bayes()`, `r2_coxsnell()`, `r2_kullback()`, `r2_loo()`, `r2_mcfadden()`, `r2_nagelkerke()`, `r2_nakagawa()`, `r2_tjur()`, `r2_xu()` and `r2_zeroinflated()`.

### Examples

```# Pseudo r-quared for GLM
model <- glm(vs ~ wt + mpg, data = mtcars, family = "binomial")
r2(model)

# r-squared including confidence intervals
model <- lm(mpg ~ wt + hp, data = mtcars)
r2(model, ci = 0.95)

if (require("lme4")) {
model <- lmer(Sepal.Length ~ Petal.Length + (1 | Species), data = iris)
r2(model)
}
```

performance documentation built on Nov. 25, 2022, 9:08 a.m.