linearReg.R2stat {BayesFactor} | R Documentation |
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)
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 |
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.
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.
Author(s)
Richard D. Morey (richarddmorey@gmail.com) and Jeffrey N. Rouder (rouderj@missouri.edu)
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
## 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']])