# bayes_R2.brmsfit: Compute a Bayesian version of R-squared for regression models In brms: Bayesian Regression Models using 'Stan'

 bayes_R2.brmsfit R Documentation

## Compute a Bayesian version of R-squared for regression models

### Description

Compute a Bayesian version of R-squared for regression models

### Usage

``````## S3 method for class 'brmsfit'
bayes_R2(
object,
resp = NULL,
summary = TRUE,
robust = FALSE,
probs = c(0.025, 0.975),
...
)
``````

### Arguments

 `object` An object of class `brmsfit`. `resp` Optional names of response variables. If specified, predictions are performed only for the specified response variables. `summary` Should summary statistics be returned instead of the raw values? Default is `TRUE`. `robust` If `FALSE` (the default) the mean is used as the measure of central tendency and the standard deviation as the measure of variability. If `TRUE`, the median and the median absolute deviation (MAD) are applied instead. Only used if `summary` is `TRUE`. `probs` The percentiles to be computed by the `quantile` function. Only used if `summary` is `TRUE`. `...` Further arguments passed to `posterior_epred`, which is used in the computation of the R-squared values.

### Details

For an introduction to the approach, see Gelman et al. (2018) and https://github.com/jgabry/bayes_R2/.

### Value

If `summary = TRUE`, an M x C matrix is returned (M = number of response variables and c = `length(probs) + 2`) containing summary statistics of the Bayesian R-squared values. If `summary = FALSE`, the posterior draws of the Bayesian R-squared values are returned in an S x M matrix (S is the number of draws).

### References

Andrew Gelman, Ben Goodrich, Jonah Gabry & Aki Vehtari. (2018). R-squared for Bayesian regression models, The American Statistician. `10.1080/00031305.2018.1549100` (Preprint available at https://stat.columbia.edu/~gelman/research/published/bayes_R2_v3.pdf)

### Examples

``````## Not run:
fit <- brm(mpg ~ wt + cyl, data = mtcars)
summary(fit)
bayes_R2(fit)

# compute R2 with new data
nd <- data.frame(mpg = c(10, 20, 30), wt = c(4, 3, 2), cyl = c(8, 6, 4))
bayes_R2(fit, newdata = nd)

## End(Not run)

``````

brms documentation built on Sept. 26, 2023, 1:08 a.m.