generalTestBF: Function to compute Bayes factors for general designs

View source: R/generalTestBF.R

generalTestBFR Documentation

Function to compute Bayes factors for general designs

Description

This function computes Bayes factors corresponding to restrictions on a full model.

Usage

generalTestBF(
  formula,
  data,
  whichRandom = NULL,
  whichModels = "withmain",
  neverExclude = NULL,
  iterations = 10000,
  progress = getOption("BFprogress", interactive()),
  rscaleFixed = "medium",
  rscaleRandom = "nuisance",
  rscaleCont = "medium",
  rscaleEffects = NULL,
  multicore = FALSE,
  method = "auto",
  noSample = FALSE,
  callback = function(...) as.integer(0)
)

Arguments

formula

a formula containing the full model for the analysis (see Examples)

data

a data frame containing data for all factors in the formula

whichRandom

a character vector specifying which factors are random

whichModels

which set of models to compare; see Details

neverExclude

a character vector containing a regular expression (see help for regex for details) that indicates which terms to always keep in the analysis

iterations

How many Monte Carlo simulations to generate, if relevant

progress

if TRUE, show progress with a text progress bar

rscaleFixed

prior scale for standardized, reduced fixed effects. A number of preset values can be given as strings; see Details.

rscaleRandom

prior scale for standardized random effects

rscaleCont

prior scale for standardized slopes

rscaleEffects

A named vector of prior settings for individual factors, overriding rscaleFixed and rscaleRandom. Values are scales, names are factor names.

multicore

if TRUE use multiple cores through the doMC package. Unavailable on Windows.

method

approximation method, if needed. See nWayAOV for details.

noSample

if TRUE, do not sample, instead returning NA.

callback

callback function for third-party interfaces

Details

See the help for anovaBF and anovaBF or details.

Models, priors, and methods of computation are provided in Rouder et al. (2012) and Liang et al (2008).

Value

An object of class BFBayesFactor, containing the computed model comparisons

Note

The function generalTestBF can compute Bayes factors for all restrictions of a full model against the null hypothesis that all effects are 0. The total number of tests computed – if all tests are requested – will be 2^K-1 for K factors or covariates. This number increases very quickly with the number of tested predictors. An option is included to prevent testing too many models: options('BFMaxModels'), which defaults to 50,000, is the maximum number of models that will be analyzed at once. This can be increased by increased using options.

It is possible to reduce the number of models tested by only testing the most complex model and every restriction that can be formed by removing one factor or interaction using the whichModels argument. See the help for anovaBF for details.

Author(s)

Richard D. Morey (richarddmorey@gmail.com)

References

Rouder, J. N., Morey, R. D., Speckman, P. L., Province, J. M., (2012) Default Bayes Factors for ANOVA Designs. Journal of Mathematical Psychology. 56. p. 356-374.

Liang, F. and Paulo, R. and Molina, G. and Clyde, M. A. and Berger, J. O. (2008). Mixtures of g-priors for Bayesian Variable Selection. Journal of the American Statistical Association, 103, pp. 410-423

See Also

lmBF, for testing specific models, and regressionBF and anovaBF for other functions for testing multiple models simultaneously.

Examples

## Puzzles example: see ?puzzles and ?anovaBF
data(puzzles)
## neverExclude argument makes sure that participant factor ID
## is in all models
result = generalTestBF(RT ~ shape*color + ID, data = puzzles, whichRandom = "ID",
neverExclude="ID", progress=FALSE)
result


BayesFactor documentation built on May 29, 2024, 3:09 a.m.