ttestBF {BayesFactor} | R Documentation |
Function for Bayesian analysis of one- and two-sample designs
Description
This function computes Bayes factors, or samples from the posterior, for one- and two-sample designs.
Usage
ttestBF(
x = NULL,
y = NULL,
formula = NULL,
mu = 0,
nullInterval = NULL,
paired = FALSE,
data = NULL,
rscale = "medium",
posterior = FALSE,
callback = function(...) as.integer(0),
...
)
Arguments
x |
a vector of observations for the first (or only) group |
y |
a vector of observations for the second group (or condition, for paired) |
formula |
for independent-group designs, a (optional) formula describing the model |
mu |
for one-sample and paired designs, the null value of the mean (or mean difference) |
nullInterval |
optional vector of length 2 containing lower and upper bounds of an interval hypothesis to test, in standardized units |
paired |
if |
data |
for use with |
rscale |
prior scale. A number of preset values can be given as strings; see Details. |
posterior |
if |
callback |
callback function for third-party interfaces |
... |
further arguments to be passed to or from methods. |
Details
The Bayes factor provided by ttestBF
tests the null hypothesis that
the mean (or mean difference) of a normal population is \mu_0
(argument mu
). Specifically, the Bayes factor compares two
hypotheses: that the standardized effect size is 0, or that the standardized
effect size is not 0. For one-sample tests, the standardized effect size is
(\mu-\mu_0)/\sigma
; for two sample tests, the
standardized effect size is (\mu_2-\mu_1)/\sigma
.
A noninformative Jeffreys prior is placed on the variance of the normal
population, while a Cauchy prior is placed on the standardized effect size.
The rscale
argument controls the scale of the prior distribution,
with rscale=1
yielding a standard Cauchy prior. See the references
below for more details.
For the rscale
argument, several named values are recognized:
"medium", "wide", and "ultrawide". These correspond
to r
scale values of \sqrt{2}/2
, 1, and \sqrt{2}
respectively.
The Bayes factor is computed via Gaussian quadrature.
Value
If posterior
is FALSE
, an object of class
BFBayesFactor
containing the computed model comparisons is
returned. If nullInterval
is defined, then two Bayes factors will
be computed: The Bayes factor for the interval against the null hypothesis
that the standardized effect is 0, and the corresponding Bayes factor for
the compliment of the interval.
If posterior
is TRUE
, an object of class BFmcmc
,
containing MCMC samples from the posterior is returned.
Note
The default priors have changed from 1 to \sqrt{2}/2
. The
factor of \sqrt{2}
is to be consistent
with Morey et al. (2011) and
Rouder et al. (2012), and the factor of 1/2
in both is to better scale the
expected effect sizes; the previous scaling put more weight on larger
effect sizes. To obtain the same Bayes factors as Rouder et al. (2009),
change the prior scale to 1.
Author(s)
Richard D. Morey (richarddmorey@gmail.com)
References
Morey, R. D., Rouder, J. N., Pratte, M. S., & Speckman, P. L. (2011). Using MCMC chain outputs to efficiently estimate Bayes factors. Journal of Mathematical Psychology, 55, 368-378
Morey, R. D. & Rouder, J. N. (2011). Bayes Factor Approaches for Testing Interval Null Hypotheses. Psychological Methods, 16, 406-419
Rouder, J. N., Speckman, P. L., Sun, D., Morey, R. D., & Iverson, G. (2009). Bayesian t-tests for accepting and rejecting the null hypothesis. Psychonomic Bulletin & Review, 16, 225-237
See Also
Examples
## Sleep data from t test example
data(sleep)
plot(extra ~ group, data = sleep)
## paired t test
ttestBF(x = sleep$extra[sleep$group==1], y = sleep$extra[sleep$group==2], paired=TRUE)
## Sample from the corresponding posterior distribution
samples = ttestBF(x = sleep$extra[sleep$group==1],
y = sleep$extra[sleep$group==2], paired=TRUE,
posterior = TRUE, iterations = 1000)
plot(samples[,"mu"])