Performs one and two sample t-tests.
The mosaic t.test provides wrapper functions around the function
of the same name in stats.
These wrappers provide an extended interface that allows for a more systematic
use of the formula interface.
Usage
t_test(x, ...)
t.test(x, ...)
# S3 method for class 'formula'
t_test(formula, data, ..., groups = NULL)
# Default S3 method
t_test(
x,
y = NULL,
alternative = c("two.sided", "less", "greater"),
mu = 0,
paired = FALSE,
var.equal = FALSE,
conf.level = 0.95,
...
)Arguments
- x
a (non-empty) numeric vector of data values.
- ...
further arguments to be passed to or from methods. For the
formulamethod, this includes arguments of the default method, but notpaired.- formula
a formula of the form
lhs ~ rhswherelhsis a numeric variable giving the data values andrhseither1for a one-sample or paired test or a factor with two levels giving the corresponding groups. Iflhsis of class"Pair"andrhsis1, a paired test is done, see Examples.- data
an optional matrix or data frame (or similar: see
model.frame) containing the variables in the formulaformula. By default the variables are taken fromenvironment(formula).- groups
When
xis a formula,groupscan be used to compare groups:x = ~ var, groups = gis equivalent tox = var ~ g. See the examples.- y
an optional (non-empty) numeric vector of data values.
- alternative
a character string specifying the alternative hypothesis, must be one of
"two.sided"(default),"greater"or"less". You can specify just the initial letter.- mu
a number indicating the true value of the mean (or difference in means if you are performing a two sample test).
- paired
a logical indicating whether you want a paired t-test.
- var.equal
a logical variable indicating whether to treat the two variances as being equal. If
TRUEthen the pooled variance is used to estimate the variance otherwise the Welch (or Satterthwaite) approximation to the degrees of freedom is used.- conf.level
confidence level of the interval.
Details
This is a wrapper around stats::t.test() from the stats package
to extend the functionality of the formula interface. In particular, one can
now use the formula interface for a 1-sample t-test. Before, the formula interface
was only permitted for a 2-sample test. The type of formula that can be used
for the 2-sample test has also be broadened. See the examples.
Examples
t.test(HELPrct$age)
#>
#> One Sample t-test
#>
#> data: HELPrct$age
#> t = 98.419, df = 452, p-value < 2.2e-16
#> alternative hypothesis: true mean is not equal to 0
#> 95 percent confidence interval:
#> 34.94150 36.36534
#> sample estimates:
#> mean of x
#> 35.65342
#>
# We can now do this with a formula
t.test(~ age, data = HELPrct)
#>
#> One Sample t-test
#>
#> data: age
#> t = 98.419, df = 452, p-value < 2.2e-16
#> alternative hypothesis: true mean is not equal to 0
#> 95 percent confidence interval:
#> 34.94150 36.36534
#> sample estimates:
#> mean of x
#> 35.65342
#>
# data = can be omitted, but it is better to use it
t.test(~ age, HELPrct)
#>
#> One Sample t-test
#>
#> data: age
#> t = 98.419, df = 452, p-value < 2.2e-16
#> alternative hypothesis: true mean is not equal to 0
#> 95 percent confidence interval:
#> 34.94150 36.36534
#> sample estimates:
#> mean of x
#> 35.65342
#>
# the original 2-sample formula
t.test(age ~ sex, data = HELPrct)
#>
#> Welch Two Sample t-test
#>
#> data: age by sex
#> t = 0.92976, df = 179.74, p-value = 0.3537
#> alternative hypothesis: true difference in means between group female and group male is not equal to 0
#> 95 percent confidence interval:
#> -0.8800365 2.4482932
#> sample estimates:
#> mean in group female mean in group male
#> 36.25234 35.46821
#>
# alternative 2-sample formulas
t.test(~ age | sex, data = HELPrct)
#>
#> Welch Two Sample t-test
#>
#> data: age by sex
#> t = 0.92976, df = 179.74, p-value = 0.3537
#> alternative hypothesis: true difference in means between group female and group male is not equal to 0
#> 95 percent confidence interval:
#> -0.8800365 2.4482932
#> sample estimates:
#> mean in group female mean in group male
#> 36.25234 35.46821
#>
t.test(~ age, groups = sex, data = HELPrct)
#>
#> Welch Two Sample t-test
#>
#> data: age by sex
#> t = 0.92976, df = 179.74, p-value = 0.3537
#> alternative hypothesis: true difference in means between group female and group male is not equal to 0
#> 95 percent confidence interval:
#> -0.8800365 2.4482932
#> sample estimates:
#> mean in group female mean in group male
#> 36.25234 35.46821
#>
# 2-sample t from vectors
with(HELPrct, t.test(age[sex == "male"], age[sex == "female"]))
#>
#> Welch Two Sample t-test
#>
#> data: age[sex == "male"] and age[sex == "female"]
#> t = -0.92976, df = 179.74, p-value = 0.3537
#> alternative hypothesis: true difference in means is not equal to 0
#> 95 percent confidence interval:
#> -2.4482932 0.8800365
#> sample estimates:
#> mean of x mean of y
#> 35.46821 36.25234
#>
# just the means
mean(age ~ sex, data = HELPrct)
#> female male
#> 36.25234 35.46821