# ttestBF: Function for Bayesian analysis of one- and two-sample designs In BayesFactor: Computation of Bayes Factors for Common Designs

 ttestBF 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 `TRUE`, observations are paired `data` for use with `formula`, a data frame containing all the data `rscale` prior scale. A number of preset values can be given as strings; see Details. `posterior` if `TRUE`, return samples from the posterior instead of Bayes factor `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 mu0 (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-mu0)/sigma; for two sample tests, the standardized effect size is (mu2-mu1)/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 √{2}/2. The factor of √{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

`integrate`, `t.test`

### 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"])
```

BayesFactor documentation built on July 5, 2022, 5:09 p.m.