t.test
Student's t-Test
Performs one and two sample t-tests on vectors of data.
- Keywords
- htest
Usage
t.test(x, ...)
"t.test"(x, y = NULL, alternative = c("two.sided", "less", "greater"), mu = 0, paired = FALSE, var.equal = FALSE, conf.level = 0.95, ...)
"t.test"(formula, data, subset, na.action, ...)
Arguments
- x
- a (non-empty) numeric vector of data values.
- 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
TRUE
then 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.
- formula
- a formula of the form
lhs ~ rhs
wherelhs
is a numeric variable giving the data values andrhs
a factor with two levels giving the corresponding groups. - 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)
. - subset
- an optional vector specifying a subset of observations to be used.
- na.action
- a function which indicates what should happen when
the data contain
NA
s. Defaults togetOption("na.action")
. - ...
- further arguments to be passed to or from methods.
Details
The formula interface is only applicable for the 2-sample tests.
alternative = "greater"
is the alternative that x
has a
larger mean than y
.
If paired
is TRUE
then both x
and y
must
be specified and they must be the same length. Missing values are
silently removed (in pairs if paired
is TRUE
). If
var.equal
is TRUE
then the pooled estimate of the
variance is used. By default, if var.equal
is FALSE
then the variance is estimated separately for both groups and the
Welch modification to the degrees of freedom is used.
If the input data are effectively constant (compared to the larger of the two means) an error is generated.
Value
-
A list with class
- statistic
- the value of the t-statistic.
- parameter
- the degrees of freedom for the t-statistic.
- p.value
- the p-value for the test.
- conf.int
- a confidence interval for the mean appropriate to the specified alternative hypothesis.
- estimate
- the estimated mean or difference in means depending on whether it was a one-sample test or a two-sample test.
- null.value
- the specified hypothesized value of the mean or mean difference depending on whether it was a one-sample test or a two-sample test.
- alternative
- a character string describing the alternative hypothesis.
- method
- a character string indicating what type of t-test was performed.
- data.name
- a character string giving the name(s) of the data.
"htest"
containing the following components:
See Also
Examples
library(stats)
require(graphics)
t.test(1:10, y = c(7:20)) # P = .00001855
t.test(1:10, y = c(7:20, 200)) # P = .1245 -- NOT significant anymore
## Classical example: Student's sleep data
plot(extra ~ group, data = sleep)
## Traditional interface
with(sleep, t.test(extra[group == 1], extra[group == 2]))
## Formula interface
t.test(extra ~ group, data = sleep)
Community examples
If you have prior reason to suspect that group 1 should have less effect than group 2, you can use a one-sided T-test, which has more power. **Warning**: you can't decide you want a one-sided T-test just because it has more power. You have to have a convincing reason why the difference should only be in one direction. ```{r} t.test(extra ~ group, data = sleep, alternative = "less") ``` The data in the sleep dataset are actually pairs of measurements: the same people were tested with each drug. This means that you should really use a paired test. ```{r} t.test(extra ~ group, data = sleep, paired = TRUE) ```