LeveneTest: Levene's Test for Homogeneity of Variance

LeveneTestR Documentation

Levene's Test for Homogeneity of Variance

Description

Computes Levene's test for homogeneity of variance across groups.

Usage

LeveneTest(x, ...)

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

## Default S3 method:
LeveneTest(x, g, center = median, ...)

Arguments

x

response variable for the default method, or a lm or formula object. If y is a linear-model object or a formula, the variables on the right-hand-side of the model must all be factors and must be completely crossed.

...

arguments to be passed down, e.g., data for the formula and lm methods; can also be used to pass arguments to the function given by center (e.g., center=mean and trim=0.1 specify the 10% trimmed mean).

formula

a formula of the form lhs ~ rhs where lhs gives the data 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").

g

factor defining groups.

center

The name of a function to compute the center of each group; mean gives the original Levene's test; the default, median, provides a more robust test (Brown-Forsythe-Test).

Details

Let X_ij be the jth observation of X for the ith group. Let Z_ij = |X_ij - X_i|, where X_i is the mean of X in the ith group. Levene’s test statistic is

W_0 = \frac{ \sum_i n_i (\bar{Z}_i - \bar{Z})^2 / (g - 1) }{ \sum_i \sum_j (Z_{ij} - \bar{Z}_i)^2 / \sum_i (n_i - 1) }

where n_i is the number of observations in group i and g is the number of groups.

Value

returns an object meant to be printed showing the results of the test.

Note

This function is rewritten using common R standards based on car::leveneTest() using the same calculation logic.

Author(s)

andri.signorell andri@signorell.net; original version written by John Fox jfox@mcmaster.ca based on a generic version contributed by Derek Ogle
adapted from a response posted by Brian Ripley to the r-help email list.

References

Fox, J. (2008) Applied Regression Analysis and Generalized Linear Models, Second Edition. Sage.

Fox, J. and Weisberg, S. (2011) An R Companion to Applied Regression, Second Edition, Sage.

See Also

fligner.test for a rank-based (nonparametric) k-sample test for homogeneity of variances; mood.test for another rank-based two-sample test for a difference in scale parameters; var.test and bartlett.test for parametric tests for the homogeneity in variance.

ansari_test in package coin for exact and approximate conditional p-values for the Ansari-Bradley test, as well as different methods for handling ties.

Examples


## example from ansari.test:
## Hollander & Wolfe (1973, p. 86f):
## Serum iron determination using Hyland control sera
serum <- ToLong(data.frame(
          ramsay=c(111, 107, 100, 99, 102, 106, 109, 108, 104, 99,
                   101, 96, 97, 102, 107, 113, 116, 113, 110, 98),
          jung.parekh=c(107, 108, 106, 98, 105, 103, 110, 105, 104,
                        100, 96, 108, 103, 104, 114, 114, 113, 108, 106, 99)
          ))

LeveneTest(x ~ grp, data=serum)
LeveneTest(x ~ grp, data=serum, center=mean)
LeveneTest(x ~ grp, data=serum, center=mean, trim=0.1)

LeveneTest( c(rnorm(10), rnorm(10, 0, 2)), factor(rep(c("A","B"), each=10)) )

LeveneTest(Ozone ~ Month, data = airquality)

LeveneTest(count ~ spray, data = InsectSprays)
# Compare this to fligner.test() and bartlett.test()


AndriSignorell/DescTools documentation built on June 11, 2025, 10:41 p.m.