var.test {stats}R Documentation

F Test to Compare Two Variances


Performs an F test to compare the variances of two samples from normal populations.


var.test(x, ...)

## Default S3 method:
var.test(x, y, ratio = 1,
         alternative = c("two.sided", "less", "greater"),
         conf.level = 0.95, ...)

## S3 method for class 'formula':
var.test(formula, data, subset, na.action, ...)


x, y numeric vectors of data values, or fitted linear model objects (inheriting from class "lm").
ratio the hypothesized ratio of the population variances of x and y.
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.
conf.level confidence level for the returned confidence interval.
formula a formula of the form lhs ~ rhs where lhs is a numeric variable giving the data values and rhs a factor with two levels giving the corresponding groups.
data an optional data frame containing the variables in the model 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").
... further arguments to be passed to or from methods.


The null hypothesis is that the ratio of the variances of the populations from which x and y were drawn, or in the data to which the linear models x and y were fitted, is equal to ratio.


A list with class "htest" containing the following components:

statistic the value of the F test statistic.
parameter the degrees of the freedom of the F distribtion of the test statistic.
p.value the p-value of the test. a confidence interval for the ratio of the population variances.
estimate the ratio of the sample variances of x and y.
null.value the ratio of population variances under the null.
alternative a character string describing the alternative hypothesis.
method the character string "F test to compare two variances". a character string giving the names of the data.

See Also

bartlett.test for testing homogeneity of variances in more than two samples from normal distributions; ansari.test and mood.test for two rank based (nonparametric) two-sample tests for difference in scale.


x <- rnorm(50, mean = 0, sd = 2)
y <- rnorm(30, mean = 1, sd = 1)
var.test(x, y)                  # Do x and y have the same variance?
var.test(lm(x ~ 1), lm(y ~ 1))  # The same.

[Package stats version 2.2.1 Index]