Kruskal-Wallis Rank Sum Test
Performs a Kruskal-Wallis rank sum test.
kruskalTest(x, ...) ## Default S3 method: kruskalTest(x, g, dist = c("Chisquare", "KruskalWallis", "FDist"), ...) ## S3 method for class 'formula' kruskalTest( formula, data, subset, na.action, dist = c("Chisquare", "KruskalWallis", "FDist"), ... )
x |
a numeric vector of data values, or a list of numeric data vectors. |
... |
further arguments to be passed to or from methods. |
g |
a vector or factor object giving the group for the
corresponding elements of |
dist |
the test distribution. Defaults's to |
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 |
For one-factorial designs with non-normally distributed residuals the Kruskal-Wallis rank sum test can be performed to test the H_0: F_1(x) = F_2(x) = … = F_k(x) against the H_\mathrm{A}: F_i (x) \ne F_j(x)~ (i \ne j) with at least one strict inequality.
Let R_{ij} be the joint rank of X_{ij}, with R_{(1)(1)} = 1, …, R_{(n)(n)} = N, ~~ N = ∑_{i=1}^k n_i, The test statistic is calculated as
SEE PDF
with the mean rank of the i-th group
SEE PDF
the expected value
SEE PDF
and the expected variance as
SEE PDF
In case of ties the statistic H is divided by ≤ft(1 - ∑_{i=1}^r t_i^3 - t_i \right) / ≤ft(N^3 - N\right)
According to Conover and Imam (1981), the statistic H is related to the F-quantile as
SEE PDF
which is equivalent to a one-way ANOVA F-test using rank transformed data (see examples).
The function provides three different dist
for p-value estimation:
p-values are computed from the Chisquare
distribution with v = k - 1 degree of freedom.
p-values are computed from the
pKruskalWallis
of the package SuppDists.
p-values are computed from the FDist
distribution
with v_1 = k-1, ~ v_2 = N -k degree of freedom.
A list with class "htest"
containing the following components:
a character string indicating what type of test was performed.
a character string giving the name(s) of the data.
the estimated quantile of the test statistic.
the p-value for the test.
the parameters of the test statistic, if any.
a character string describing the alternative hypothesis.
the estimates, if any.
the estimate under the null hypothesis, if any.
Conover, W.J., Iman, R.L. (1981) Rank Transformations as a Bridge Between Parametric and Nonparametric Statistics. Am Stat 35, 124–129.
Kruskal, W.H., Wallis, W.A. (1952) Use of Ranks in One-Criterion Variance Analysis. J Am Stat Assoc 47, 583–621.
Sachs, L. (1997) Angewandte Statistik. Berlin: Springer.
## Hollander & Wolfe (1973), 116. ## Mucociliary efficiency from the rate of removal of dust in normal ## subjects, subjects with obstructive airway disease, and subjects ## with asbestosis. x <- c(2.9, 3.0, 2.5, 2.6, 3.2) # normal subjects y <- c(3.8, 2.7, 4.0, 2.4) # with obstructive airway disease z <- c(2.8, 3.4, 3.7, 2.2, 2.0) # with asbestosis g <- factor(x = c(rep(1, length(x)), rep(2, length(y)), rep(3, length(z))), labels = c("ns", "oad", "a")) dat <- data.frame( g = g, x = c(x, y, z)) ## AD-Test adKSampleTest(x ~ g, data = dat) ## BWS-Test bwsKSampleTest(x ~ g, data = dat) ## Kruskal-Test ## Using incomplete beta approximation kruskalTest(x ~ g, dat, dist="KruskalWallis") ## Using chisquare distribution kruskalTest(x ~ g, dat, dist="Chisquare") ## Not run: ## Check with kruskal.test from R stats kruskal.test(x ~ g, dat) ## End(Not run) ## Using Conover's F kruskalTest(x ~ g, dat, dist="FDist") ## Not run: ## Check with aov on ranks anova(aov(rank(x) ~ g, dat)) ## Check with oneway.test oneway.test(rank(x) ~ g, dat, var.equal = TRUE) ## End(Not run)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.