kwAllPairsNemenyiTest {PMCMRplus}R Documentation

Nemenyi's All-Pairs Rank Comparison Test

Description

Performs Nemenyi's non-parametric all-pairs comparison test for Kruskal-type ranked data.

Usage

kwAllPairsNemenyiTest(x, ...)

## Default S3 method:
kwAllPairsNemenyiTest(x, g, dist = c("Tukey", "Chisquare"), ...)

## S3 method for class 'formula'
kwAllPairsNemenyiTest(
  formula,
  data,
  subset,
  na.action,
  dist = c("Tukey", "Chisquare"),
  ...
)

Arguments

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 "x". Ignored with a warning if "x" is a list.

dist

the distribution for determining the p-value. Defaults to "Tukey".

formula

a formula of the form response ~ group where response gives the data values and group a vector or factor of 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").

Details

For all-pairs comparisons in an one-factorial layout with non-normally distributed residuals Nemenyi's non-parametric test can be performed. A total of m = k(k-1)/2 hypotheses can be tested. The null hypothesis H_{ij}: \theta_i(x) = \theta_j(x) is tested in the two-tailed test against the alternative A_{ij}: \theta_i(x) \ne \theta_j(x), ~~ i \ne j.

Let R_{ij} be the rank of X_{ij}, where X_{ij} is jointly ranked from \left\{1, 2, \ldots, N \right\}, ~~ N = \sum_{i=1}^k n_i, then the test statistic under the absence of ties is calculated as

t_{ij} = \frac{\bar{R}_j - \bar{R}_i} {\sigma_R \left(1/n_i + 1/n_j\right)^{1/2}} \qquad \left(i \ne j\right),

with \bar{R}_j, \bar{R}_i the mean rank of the i-th and j-th group and the expected variance as

\sigma_R^2 = N \left(N + 1\right) / 12.

A pairwise difference is significant, if |t_{ij}|/\sqrt{2} > q_{kv}, with k the number of groups and v = \infty the degree of freedom.

Sachs(1997) has given a modified approach for Nemenyi's test in the presence of ties for N > 6, k > 4 provided that the kruskalTest indicates significance: In the presence of ties, the test statistic is corrected according to \hat{t}_{ij} = t_{ij} / C, with

C = 1 - \frac{\sum_{i=1}^r t_i^3 - t_i}{N^3 - N}.

The function provides two different dist for p-value estimation:

Tukey

The p-values are computed from the studentized range distribution (alias Tukey), \mathrm{Pr} \left\{ t_{ij} \sqrt{2} \ge q_{k\infty\alpha} | mathrm{H} \right\} = \alpha.

Chisquare

The p-values are computed from the Chisquare distribution with v = k - 1 degree of freedom.

Value

A list with class "PMCMR" containing the following components:

method

a character string indicating what type of test was performed.

data.name

a character string giving the name(s) of the data.

statistic

lower-triangle matrix of the estimated quantiles of the pairwise test statistics.

p.value

lower-triangle matrix of the p-values for the pairwise tests.

alternative

a character string describing the alternative hypothesis.

p.adjust.method

a character string describing the method for p-value adjustment.

model

a data frame of the input data.

dist

a string that denotes the test distribution.

References

Nemenyi, P. (1963) Distribution-free Multiple Comparisons. Ph.D. thesis, Princeton University.

Sachs, L. (1997) Angewandte Statistik. Berlin: Springer.

Wilcoxon, F., Wilcox, R. A. (1964) Some rapid approximate statistical procedures. Pearl River: Lederle Laboratories.

See Also

Tukey, Chisquare, p.adjust, kruskalTest, kwAllPairsDunnTest, kwAllPairsConoverTest

Examples

## Data set InsectSprays
## Global test
kruskalTest(count ~ spray, data = InsectSprays)

## Conover's all-pairs comparison test
## single-step means Tukey's p-adjustment
ans <- kwAllPairsConoverTest(count ~ spray, data = InsectSprays,
                             p.adjust.method = "single-step")
summary(ans)

## Dunn's all-pairs comparison test
ans <- kwAllPairsDunnTest(count ~ spray, data = InsectSprays,
                             p.adjust.method = "bonferroni")
summary(ans)

## Nemenyi's all-pairs comparison test
ans <- kwAllPairsNemenyiTest(count ~ spray, data = InsectSprays)
summary(ans)

[Package PMCMRplus version 1.9.10 Index]