F Test to Compare Two Variances

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

var.test(x, ...)

## S3 method for class 'default': 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, \dots)

x, y
numeric vectors of data values, or fitted linear model objects (inheriting from class "lm").
the hypothesized ratio of the population variances of x and y.
a character string specifying the alternative hypothesis, must be one of "two.sided" (default), "greater" or "less". You can specify just the initial letter.
confidence level for the returned confidence interval.
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.
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).
an optional vector specifying a subset of observations to be used.
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:
  • statisticthe value of the F test statistic.
  • parameterthe degrees of the freedom of the F distribution of the test statistic.
  • p.valuethe p-value of the test.
  • conf.inta confidence interval for the ratio of the population variances.
  • estimatethe ratio of the sample variances of x and y.
  • null.valuethe ratio of population variances under the null.
  • alternativea character string describing the alternative hypothesis.
  • methodthe character string "F test to compare two variances".
  • data.namea 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.

  • var.test
  • var.test.default
  • var.test.formula
library(stats) 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.
Documentation reproduced from package stats, version 3.3, License: Part of R 3.3

Community examples

Looks like there are no examples yet.