Performs either a one sample chi-squared test to compare the variance of a vector with a given value or an F test to compare the variances of two samples from normal populations.

VarTest(x, ...)

# Default S3 method
VarTest(x, y,
        alternative = c("two.sided", "less", "greater"),
        ratio = 1, sigma.squared = 1,
        conf.level = 0.95, ...)

# S3 method for class 'formula'
VarTest(formula, data, subset, na.action, ...)

Arguments

x, y

numeric vectors 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.

ratio

the hypothesized ratio of the population variances of x and y.

sigma.squared

a number indicating the true value of the variance, if one sample test is requested.

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 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").

...

further arguments to be passed to or from methods.

Details

The formula interface is only applicable for the 2-sample tests.

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.

Value

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 distribution of the test statistic.

p.value

the p-value of the test.

conf.int

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".

data.name

a character string giving the names of the data.

Author

Andri Signorell <andri@signorell.net> (One sample test)
Two Sample test and help text from R-Core.

See also

var.test, 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.

Examples

x <- rnorm(50, mean = 0, sd = 2)

# One sample test
VarTest(x, sigma.squared = 2.5)
#> 
#> 	One Sample Chi-Square test on variance
#> 
#> data:  x
#> X-squared = 67, df = 49, p-value = 0.07
#> alternative hypothesis: true variance is not equal to 2.5
#> 95 percent confidence interval:
#>  2.39 5.31
#> sample estimates:
#> variance of x 
#>          3.42 
#> 

# two samples
y <- rnorm(30, mean = 1, sd = 1)
VarTest(x, y)                  # Do x and y have the same variance?
#> 
#> 	F test to compare two variances
#> 
#> data:  x and y
#> F = 5, num df = 49, denom df = 29, p-value = 0.00002
#> alternative hypothesis: true ratio of variances is not equal to 1
#> 95 percent confidence interval:
#>  2.52 9.44
#> sample estimates:
#> ratio of variances 
#>               5.02 
#> 
VarTest(lm(x ~ 1), lm(y ~ 1))  # The same.
#> 
#> 	F test to compare two variances
#> 
#> data:  x and y
#> F = 5, num df = 49, denom df = 29, p-value = 0.00002
#> alternative hypothesis: true ratio of variances is not equal to 1
#> 95 percent confidence interval:
#>  2.52 9.44
#> sample estimates:
#> ratio of variances 
#>               5.02 
#>