N replications of
k different treatments/conditions,
tests whether the median ordinal ranks \(m_i\) of the treatments
are identical $$m_1 = m_2 = \ldots = m_k$$ against the alternative
hypothesis $$m_1 \leq m_2 \leq \ldots \leq m_k$$ where at least
one of the inequalities is a strict inequality (Siegel and Castellan
1988, p.184). Given that even a single point change in the distribution of
ranks across conditions represents evidence against the null hypothesis,
the Page test is simply a test for some ordered differences in
ranks, but not a 'trend test' in any meaningful way (see also the
Page test tutorial).
page.test(data, verbose = TRUE) page.L(data, verbose = TRUE, ties.method = "average") page.compute.exact(k, N, L)
a matrix with the different conditions along its
whether to print the final rankings based on which the L statistic is computed
how to resolve tied ranks. Passed on to
number of conditions/generations
number of replications/chains
value of the Page L statistic
page.test returns a list of class
htest) containing the following elements:
value of the L statistic for the data set
a named vector specifying the number of conditions (k) and replications (N) of the data (which is the number of columns and rows of the data set, respectively)
whether the computed p-value is
Tests the given matrix for monotonically increasing ranks across
linearly ordered conditions (along columns) based on
(along rows). To test for monotonically decreasing ranks, either reverse
the order of columns, or simply invert the rank ordering by calling
the entire dataset.
Exact p-values are computed for
k up to 22, using the pre-computed null
distributions from the
pspearman package. For
k, p-values are computed based on a Normal distribution
approximation (Siegel and Castellan, 1988).
page.test: See above.
page.L: Calculate Page's L statistic for the given dataset.
page.compute.exact: Calculate exact significance levels of the Page L
statistic. Returns a single numeric indicating the null probability of
the Page statistic with the given
N being greater or equal than the
Siegel, S., and N. J. Castellan, Jr. (1988). Nonparametric Statistics for the Behavioral Sciences. McGraw-Hill.
# exact p value computation for N=4, k=4 page.test(t(replicate(4, sample(4))))#> Ranking used: #> [,1] [,2] [,3] [,4] #> N=1 2 4 3 1 #> N=2 3 4 2 1 #> N=3 1 4 3 2 #> N=4 4 2 1 3#> #> Page test of monotonicity of ranks #> #> data: t(replicate(4, sample(4))) #> L = 93, k = 4, N = 4, p-value = 0.8992 #> alternative hypothesis: at least one difference in ranks #># exact p value computation for N=4, k=10 page.test(t(replicate(4, sample(10))))#> Ranking used: #> [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] #> N=1 6 2 1 3 10 7 5 8 4 9 #> N=2 3 7 8 4 2 10 9 6 1 5 #> N=3 2 7 1 4 5 6 3 8 9 10 #> N=4 9 10 8 2 3 1 5 6 7 4#> #> Page test of monotonicity of ranks #> #> data: t(replicate(4, sample(10))) #> L = 1269, k = 10, N = 4, p-value = 0.146 #> alternative hypothesis: at least one difference in ranks #># approximate p value computation for N=4, k=23 result <- page.test(t(replicate(4, sample(23))), verbose = FALSE)#>print(result)#> #> Page test of monotonicity of ranks #> #> data: t(replicate(4, sample(23))) #> L = 12581, k = 23, N = 4, p-value = 0.9389 #> alternative hypothesis: at least one difference in ranks #># raw calculation of the significance levels page.compute.exact(6, 4, 322)#>  0.03932265