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(k−1)/2
hypotheses can be tested. The null hypothesis Hij:θi(x)=θj(x) is tested in the two-tailed test against the alternative Aij:θi(x)=θj(x),i=j.
Let Rij be the rank of Xij, where Xij is jointly ranked from {1,2,…,N},N=∑i=1kni, then the test statistic under the absence of ties is calculated as
tij=σR(1/ni+1/nj)1/2Rˉj−Rˉi(i=j),
with Rˉj,Rˉi the mean rank of the i-th and j-th group and the expected variance as
σR2=N(N+1)/12.
A pairwise difference is significant, if ∣tij∣/2>qkv, with k the number of groups and v=∞
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 t^ij=tij/C, with
C=1−N3−N∑i=1rti3−ti.
The function provides two different dist
for p-value estimation:
Tukey: The p-values are computed from the studentized range distribution (alias Tukey), Pr{tij2≥qk∞α∣mathrmH}=α.
Chisquare: The p-values are computed from the Chisquare distribution with v=k−1 degree of freedom.
Examples
## Data set InsectSprays## Global testkruskalTest(count ~ spray, data = InsectSprays)## Conover's all-pairs comparison test## single-step means Tukey's p-adjustmentans <- kwAllPairsConoverTest(count ~ spray, data = InsectSprays, p.adjust.method ="single-step")summary(ans)## Dunn's all-pairs comparison testans <- kwAllPairsDunnTest(count ~ spray, data = InsectSprays, p.adjust.method ="bonferroni")summary(ans)## Nemenyi's all-pairs comparison testans <- kwAllPairsNemenyiTest(count ~ spray, data = InsectSprays)summary(ans)## Brown-Mood all-pairs median testans <- 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.