Learn R Programming

stats (version 3.3.3)

oneway.test: Test for Equal Means in a One-Way Layout

Description

Test whether two or more samples from normal distributions have the same means. The variances are not necessarily assumed to be equal.

Usage

oneway.test(formula, data, subset, na.action, var.equal = FALSE)

Arguments

formula
a formula of the form lhs ~ rhs where lhs gives the sample values and rhs the corresponding groups.
data
an optional matrix or data frame (or similar: see model.frame) containing the variables in the formula formula. By default the variables are taken from environment(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 NAs. Defaults to getOption("na.action").
var.equal
a logical variable indicating whether to treat the variances in the samples as equal. If TRUE, then a simple F test for the equality of means in a one-way analysis of variance is performed. If FALSE, an approximate method of Welch (1951) is used, which generalizes the commonly known 2-sample Welch test to the case of arbitrarily many samples.

Value

A list with class "htest" containing the following components:
statistic
the value of the test statistic.
parameter
the degrees of freedom of the exact or approximate F distribution of the test statistic.
p.value
the p-value of the test.
method
a character string indicating the test performed.
data.name
a character string giving the names of the data.

Details

If the right-hand side of the formula contains more than one term, their interaction is taken to form the grouping.

References

B. L. Welch (1951), On the comparison of several mean values: an alternative approach. Biometrika, 38, 330--336.

See Also

The standard t test (t.test) as the special case for two samples; the Kruskal-Wallis test kruskal.test for a nonparametric test for equal location parameters in a one-way layout.

Examples

Run this code
## Not assuming equal variances
oneway.test(extra ~ group, data = sleep)
## Assuming equal variances
oneway.test(extra ~ group, data = sleep, var.equal = TRUE)
## which gives the same result as
anova(lm(extra ~ group, data = sleep))

Run the code above in your browser using DataLab