ansari.test {stats}  R Documentation 
Performs the AnsariBradley twosample test for a difference in scale parameters.
ansari.test(x, ...) ## Default S3 method: ansari.test(x, y, alternative = c("two.sided", "less", "greater"), exact = NULL, conf.int = FALSE, conf.level = 0.95, ...) ## S3 method for class 'formula' ansari.test(formula, data, subset, na.action, ...)
x 
numeric vector of data values. 
y 
numeric vector of data values. 
alternative 
indicates the alternative hypothesis and must be
one of 
exact 
a logical indicating whether an exact pvalue should be computed. 
conf.int 
a logical,indicating whether a confidence interval should be computed. 
conf.level 
confidence level of the interval. 
formula 
a formula of the form 
data 
an optional matrix or data frame (or similar: see

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 
... 
further arguments to be passed to or from methods. 
Suppose that x
and y
are independent samples from
distributions with densities f((tm)/s)/s and f(tm),
respectively, where m is an unknown nuisance parameter and
s, the ratio of scales, is the parameter of interest. The
AnsariBradley test is used for testing the null that s equals
1, the twosided alternative being that s != 1 (the
distributions differ only in variance), and the onesided alternatives
being s > 1 (the distribution underlying x
has a larger
variance, "greater"
) or s < 1 ("less"
).
By default (if exact
is not specified), an exact pvalue
is computed if both samples contain less than 50 finite values and
there are no ties. Otherwise, a normal approximation is used.
Optionally, a nonparametric confidence interval and an estimator for s are computed. If exact pvalues are available, an exact confidence interval is obtained by the algorithm described in Bauer (1972), and the HodgesLehmann estimator is employed. Otherwise, the returned confidence interval and point estimate are based on normal approximations.
Note that midranks are used in the case of ties rather than average scores as employed in Hollander & Wolfe (1973). See, e.g., Hajek, Sidak and Sen (1999), pages 131ff, for more information.
A list with class "htest"
containing the following components:
statistic 
the value of the AnsariBradley test statistic. 
p.value 
the pvalue of the test. 
null.value 
the ratio of scales s under the null, 1. 
alternative 
a character string describing the alternative hypothesis. 
method 
the string 
data.name 
a character string giving the names of the data. 
conf.int 
a confidence interval for the scale parameter.
(Only present if argument 
estimate 
an estimate of the ratio of scales.
(Only present if argument 
To compare results of the AnsariBradley test to those of the F test to compare two variances (under the assumption of normality), observe that s is the ratio of scales and hence s^2 is the ratio of variances (provided they exist), whereas for the F test the ratio of variances itself is the parameter of interest. In particular, confidence intervals are for s in the AnsariBradley test but for s^2 in the F test.
David F. Bauer (1972). Constructing confidence sets using rank statistics. Journal of the American Statistical Association, 67, 687–690. doi: 10.1080/01621459.1972.10481279.
Jaroslav Hajek, Zbynek Sidak and Pranab K. Sen (1999). Theory of Rank Tests. San Diego, London: Academic Press.
Myles Hollander and Douglas A. Wolfe (1973). Nonparametric Statistical Methods. New York: John Wiley & Sons. Pages 83–92.
fligner.test
for a rankbased (nonparametric)
ksample test for homogeneity of variances;
mood.test
for another rankbased twosample 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 pvalues for the
AnsariBradley test, as well as different methods for handling ties.
## Hollander & Wolfe (1973, p. 86f): ## Serum iron determination using Hyland control sera 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) ansari.test(ramsay, jung.parekh) ansari.test(rnorm(10), rnorm(10, 0, 2), conf.int = TRUE) ## try more points  failed in 2.4.1 ansari.test(rnorm(100), rnorm(100, 0, 2), conf.int = TRUE)