| bayesfactor {bayestestR} | R Documentation |
Bayes Factors (BF)
Description
This function compte the Bayes factors (BFs) that are appropriate to the
input. For vectors or single models, it will compute BFs for single parameters(), or is hypothesis is specified,
BFs for restricted models(). For multiple models,
it will return the BF corresponding to comparison between models() and if a model comparison is passed, it will
compute the inclusion BF().
For a complete overview of these functions, read the Bayes factor vignette.
Usage
bayesfactor(
...,
prior = NULL,
direction = "two-sided",
null = 0,
hypothesis = NULL,
effects = c("fixed", "random", "all"),
verbose = TRUE,
denominator = 1,
match_models = FALSE,
prior_odds = NULL
)
Arguments
... |
A numeric vector, model object(s), or the output from
|
prior |
An object representing a prior distribution (see 'Details'). |
direction |
Test type (see 'Details'). One of |
null |
Value of the null, either a scalar (for point-null) or a range (for a interval-null). |
hypothesis |
A character vector specifying the restrictions as logical conditions (see examples below). |
effects |
Should results for fixed effects, random effects or both be returned? Only applies to mixed models. May be abbreviated. |
verbose |
Toggle off warnings. |
denominator |
Either an integer indicating which of the models to use as
the denominator, or a model to be used as a denominator. Ignored for
|
match_models |
See details. |
prior_odds |
Optional vector of prior odds for the models. See
|
Value
Some type of Bayes factor, depending on the input. See bayesfactor_parameters(), bayesfactor_models() or bayesfactor_inclusion()
Note
There is also a plot()-method implemented in the see-package.
Examples
library(bayestestR)
prior <- distribution_normal(1000, mean = 0, sd = 1)
posterior <- distribution_normal(1000, mean = .5, sd = .3)
bayesfactor(posterior, prior = prior, verbose = FALSE)
# rstanarm models
# ---------------
model <- suppressWarnings(rstanarm::stan_lmer(extra ~ group + (1 | ID), data = sleep))
bayesfactor(model, verbose = FALSE)
# Frequentist models
# ---------------
m0 <- lm(extra ~ 1, data = sleep)
m1 <- lm(extra ~ group, data = sleep)
m2 <- lm(extra ~ group + ID, data = sleep)
comparison <- bayesfactor(m0, m1, m2)
comparison
bayesfactor(comparison)