kwAllPairsNemenyiTest function

Nemenyi's All-Pairs Rank Comparison Test

Nemenyi's All-Pairs Rank Comparison Test

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

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").

Returns

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.

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(k1)/2m = k(k-1)/2

hypotheses can be tested. The null hypothesis Hij:θi(x)=θj(x)_{ij}: \theta_i(x) = \theta_j(x) is tested in the two-tailed test against the alternative Aij:θi(x)θj(x),  ij_{ij}: \theta_i(x) \ne \theta_j(x), ~~ i \ne j.

Let RijR_{ij} be the rank of XijX_{ij}, where XijX_{ij} is jointly ranked from {1,2,,N},  N=i=1kni\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

tij=RˉjRˉiσR(1/ni+1/nj)1/2(ij), 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),%SEE PDF

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

σR2=N(N+1)/12. \sigma_R^2 = N \left(N + 1\right) / 12.%SEE PDF

A pairwise difference is significant, if tij/2>qkv|t_{ij}|/\sqrt{2} > q_{kv}, with kk the number of groups and v=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>4N > 6, k > 4

provided that the kruskalTest indicates significance: In the presence of ties, the test statistic is corrected according to t^ij=tij/C\hat{t}_{ij} = t_{ij} / C, with

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

The function provides two different dist

for pp-value estimation:

  • Tukey: The pp-values are computed from the studentized range distribution (alias Tukey), Pr{tij2qkαmathrmH}=α\mathrm{Pr} \left\{ t_{ij} \sqrt{2} \ge q_{k\infty\alpha} | mathrm{H} \right\} = \alpha.
  • Chisquare: The pp-values are computed from the Chisquare distribution with v=k1v = k - 1 degree of freedom.

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) ## Brown-Mood all-pairs median test ans <- medianAllPairsTest(count ~ spray, data = InsectSprays) summary(ans)

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

  • Maintainer: Thorsten Pohlert
  • License: GPL (>= 3)
  • Last published: 2024-09-08

Useful links