# Levene's Test > Compute Levene's test for equal variances.
Levene's test is used to test the null hypothesis that the variances of `k` groups are equal against the alternative that at least two of them are different.
## Usage ```javascript var leveneTest = require( '@stdlib/stats/levene-test' ); ``` #### leveneTest( x\[, y, ..., z]\[, opts] ) Calculates Levene's test for input arrays `x`, `y`, ..., `z` holding numeric observations. ```javascript // Data from Hollander & Wolfe (1973), p. 116: var x = [ 2.9, 3.0, 2.5, 2.6, 3.2 ]; var y = [ 3.8, 2.7, 4.0, 2.4 ]; var z = [ 2.8, 3.4, 3.7, 2.2, 2.0 ]; var out = leveneTest( x, y, z ); /* returns { 'rejected': false, 'alpha': 0.05, 'df': [ 2, 11 ], 'pValue': ~0.1733, 'statistic': ~2.0638, ... } */ ``` The function accepts the following `options`: - **alpha**: `number` on the interval `[0,1]` giving the significance level of the hypothesis test. Default: `0.05`. - **groups**: an `array` of group indicators. Only applicable when providing a single numeric array holding all observations. By default, the test is carried out at a significance level of `0.05`. To test at a different significance level, set the `alpha` option. ```javascript var x = [ 2.9, 3.0, 2.5, 2.6, 3.2 ]; var y = [ 3.8, 2.7, 4.0, 2.4 ]; var z = [ 2.8, 3.4, 3.7, 2.2, 2.0 ]; var out = leveneTest( x, y, z, { 'alpha': 0.01 }); /* returns { 'rejected': false, 'alpha': 0.01, 'df': [ 2, 11 ], 'pValue': ~0.1733, 'statistic': ~2.0638, ... } */ ``` In addition to providing multiple arrays, the function supports providing a single numeric array holding all observations along with an array of group indicators. ```javascript var arr = [ 2.9, 3.0, 2.5, 2.6, 3.2, 3.8, 2.7, 4.0, 2.4, 2.8, 3.4, 3.7, 2.2, 2.0 ]; var groups = [ 'a', 'a', 'a', 'a', 'a', 'b', 'b', 'b', 'b', 'c', 'c', 'c', 'c', 'c' ]; var out = leveneTest( arr, { 'groups': groups }); ``` The returned object comes with a `.print()` method which, when invoked, prints a formatted output of test results. The method accepts the following options: - **digits**: number of decimal digits displayed for the outputs. Default: `4`. - **decision**: `boolean` indicating whether to print the test decision. Default: `true`. ```javascript var x = [ 2.9, 3.0, 2.5, 2.6, 3.2 ]; var y = [ 3.8, 2.7, 4.0, 2.4 ]; var z = [ 2.8, 3.4, 3.7, 2.2, 2.0 ]; var out = leveneTest( x, y, z ); console.log( out.print() ); /* => Levene's test for Homogeneity of Variance Null hypothesis: The variances in all groups are the same. df 1: 2 df 2: 11 F score: 2.0638 P Value: 0.1733 Test Decision: Fail to reject null in favor of alternative at 5% significance level */ ```
## Examples ```javascript var leveneTest = require( '@stdlib/stats/levene-test' ); // Data from Hollander & Wolfe (1973), p. 116: var x = [ 2.9, 3.0, 2.5, 2.6, 3.2 ]; var y = [ 3.8, 2.7, 4.0, 2.4 ]; var z = [ 2.8, 3.4, 3.7, 2.2, 2.0 ]; var out = leveneTest( x, y, z ); /* returns { 'rejected': false, 'alpha': 0.05, 'df': [ 2, 11 ], 'pValue': ~0.1733, 'statistic': ~2.0638, ... } */ var table = out.print(); /* returns Levene's test for Homogeneity of Variance Null hypothesis: The variances in all groups are the same. df 1: 2 df 2: 11 F score: 2.0638 P Value: 0.1733 Test Decision: Fail to reject null in favor of alternative at 5% significance level */ ```