2-sided p-value of the runs test

The function calculates the 2-sided p-value of the Wald-Wolfowitz runs test after dichotomizing the input vector

runs.pvalue(y, pmethod = c("exact", "normal", "cc"))

Numeric vector of data values.


A character string describing the method for the p-value calculation of the runs test. "exact" chooses the calculation via exact distribution of the # of runs. "normal" denotes the normal approximation like the function(s) runs.test() of the packages tseries or lawstat. "cc" chooses the continuity correction to the large sample approximation like in the statistical software SPSS.


This function calculates the 2-sided p-value of the runs.test. The large sample approximations are an adaption from the codes for runs.test() found in the R-packages lawstat and tseries. The aim of this own was to avoid the heavy footprint of both packages for this small package. The user can choose the application of a continuity correction to the normal approximation like a SAS implementation uses or like SPSS if n<50. The exact distribution of runs and the p-value based on it are described in the manual of SPSS "Exact tests" to be found f.i. If pmethod="exact" is chosen and n>30 and n1>12 and n2>12 (see pruns.exact) the continuity corrected version of the normal approximation is used to save time and memory.


Numeric p-value of the 2-sided test.

See Also


  • runs.pvalue
# alternating sequence 1,2,1,2 ...
# maybe seen as numeric representation of 'TR','RT' ...
# and is used in that way here in this package
x <- rep(c(1, 2), 6)
runs.pvalue(x, pmethod="normal")
# should give 0.002464631
# exact p-value
runs.pvalue(x, pmethod="exact")
# should give 0.004329004
# same for 3 numbers (numeric representation of 3 sequences)
x <- rep(c(1, 2, 3),4)
runs.pvalue(x, pmethod="normal")
# should give 0.2502128
# i.e. is seen as compatible with a random sequence!
# exact p-value, default i.e. must not given exolicitely
# should give 0.3212121
# i.e. is seen even more as compatible with a random sequence!
# }
Documentation reproduced from package randomizeBE, version 0.3-5, License: GPL (>= 2.0)

Community examples

Looks like there are no examples yet.