Learn R Programming

BayesFactor (version 0.9.12-4.7)

linearReg.R2stat: Use R^2 statistic to compute Bayes factor for regression designs

Description

Using the classical R^2 test statistic for (linear) regression designs, this function computes the corresponding Bayes factor test.

Usage

linearReg.R2stat(N, p, R2, rscale = "medium", simple = FALSE)

Value

If simple is TRUE, returns the Bayes factor (against the intercept-only null). If FALSE, the function returns a vector of length 3 containing the computed log(e) Bayes factor, along with a proportional error estimate on the Bayes factor and the method used to compute it.

Arguments

N

number of observations

p

number of predictors in model, excluding intercept

R2

proportion of variance accounted for by the predictors, excluding intercept

rscale

numeric prior scale

simple

if TRUE, return only the Bayes factor

Author

Richard D. Morey (richarddmorey@gmail.com) and Jeffrey N. Rouder (rouderj@missouri.edu)

Details

This function can be used to compute the Bayes factor corresponding to a multiple regression, using the classical R^2 (coefficient of determination) statistic. It can be used when you don't have access to the full data set for analysis by lmBF, but you do have the test statistic.

For details about the model, see the help for regressionBF, and the references therein.

The Bayes factor is computed via Gaussian quadrature.

References

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

Rouder, J. N. and Morey, R. D. (in press, Multivariate Behavioral Research). Bayesian testing in regression.

See Also

integrate, lm; see lmBF for the intended interface to this function, using the full data set.

Examples

Run this code
## Use attitude data set
data(attitude)
## Scatterplot
lm1 = lm(rating~complaints,data=attitude)
plot(attitude$complaints,attitude$rating)
abline(lm1)
## Traditional analysis
## p value is highly significant
summary(lm1)

## Bayes factor
## The Bayes factor is over 400,000;
## the data strongly favor hypothesis that
## the slope is not 0.
result = linearReg.R2stat(30,1,0.6813)
exp(result[['bf']])

Run the code above in your browser using DataLab