Add model fit criteria to model objects

```
add_criterion(x, ...)
# S3 method for brmsfit
add_criterion(
x,
criterion,
model_name = NULL,
overwrite = FALSE,
file = NULL,
force_save = FALSE,
...
)
```

## Arguments

- x
An R object typically of class `brmsfit`

.

- ...
Further arguments passed to the underlying
functions computing the model fit criteria.

- criterion
Names of model fit criteria
to compute. Currently supported are `"loo"`

,
`"waic"`

, `"kfold"`

, `"loo_subsample"`

,
`"bayes_R2"`

(Bayesian R-squared),
`"loo_R2"`

(LOO-adjusted R-squared), and
`"marglik"`

(log marginal likelihood).

- model_name
Optional name of the model. If `NULL`

(the default) the name is taken from the call to `x`

.

- overwrite
Logical; Indicates if already stored fit
indices should be overwritten. Defaults to `FALSE`

.

- file
Either `NULL`

or a character string. In the latter case, the
fitted model object including the newly added criterion values is saved via
`saveRDS`

in a file named after the string supplied in
`file`

. The `.rds`

extension is added automatically. If `x`

was already stored in a file before, the file name will be reused
automatically (with a message) unless overwritten by `file`

. In any
case, `file`

only applies if new criteria were actually added via
`add_criterion`

or if `force_save`

was set to `TRUE`

.

- force_save
Logical; only relevant if `file`

is specified and
ignored otherwise. If `TRUE`

, the fitted model object will be saved
regardless of whether new criteria were added via `add_criterion`

.

## Value

An object of the same class as `x`

, but
with model fit criteria added for later usage.

## Details

Functions `add_loo`

and `add_waic`

are aliases of
`add_criterion`

with fixed values for the `criterion`

argument.

## Examples

```
if (FALSE) {
fit <- brm(count ~ Trt, data = epilepsy)
# add both LOO and WAIC at once
fit <- add_criterion(fit, c("loo", "waic"))
print(fit$criteria$loo)
print(fit$criteria$waic)
}
```