I have seen that someone has asked a similar question a few years ago, but unfortunately the answer is not helpful.

I am in the process of estimating a Wilcoxon signed rank test with a n=63 by hand. I calculate by hand to really understand all the different steps.

However, now I am stuck. All critical value tables end at 50. There have been some suggestions as $wp= (n(n+1)/4)$ but this is not applicable due to an alpha level of .05

Another suggestion was to calculate a z-score.

Can I ask for your advice?

  • $\begingroup$ Are you working in an academic context, business or something else? I used on N<10 in a business context where I could be much more liberal with the methodology $\endgroup$ Jun 23, 2019 at 10:27
  • $\begingroup$ When the purpose is to understand the steps, it is counterproductive to (a) use a dataset that requires extensive computation (as one with 63 paired observations does) and (b) not have an exact, authoritative answer available. Why not use datasets of the size considered by Frank Wilcoxon originally and compare your calculations to his? $\endgroup$
    – whuber
    Jun 23, 2019 at 13:51

1 Answer 1


The Wilcoxon signed rank test has a null distribution that rapidly approaches a normal distribution.

The tables tend to stop by n=50 because the normal approximation is excellent well before that point. Indeed, there's probably little point tabulating much beyond n=20. The normal approximation is given at the Wikipedia page for the test -- but you need to make sure you're using the same version of the statistic (there's more than one definition going around; they should all give the same p-values though). Wikipedia's version uses the sum of all the signed ranks.

If you use R (or a number of other statistical packages), they'll happily give critical values for one and two tailed tests. Again, you have to make sure you're using the same definition of the statistic as they do (R uses "the sum of the positive ranks" as the statistic).

Using R's definition of the statistic, at n=63, the 5% two tailed critical value is 1294; the 5% (upper) one tailed critical value is 1248.

Using the corresponding normal approximation (with or without continuity correction) gives the same values.

To get a p-value using a normal approximation you need:

  • the mean and standard deviation of the particular statistic you're using, when $H_0$ is true. You can (for example) then compute a standardized version of the test statistic (which is approximately normally distributed) if you wish - though with computer packages you can avoid the need to standardize.

  • You can then use normal tables or computer functions for the normal distribution to obtain a p-value, or you can simply compare your statistic with critical values for your significance level.

  • $\begingroup$ Thank you! Glen, how can I extract the approximate and exact critical values from R for arbitrary n? $\endgroup$
    – colin
    May 25, 2022 at 14:54
  • $\begingroup$ see ?qsignrank for exact critical values. Use ?qnorm for approximate. Replace using those qs with ps to obtain p-values (the p-functions return left-tail probabilities, you need to make use of symmetry for other probabilities) $\endgroup$
    – Glen_b
    May 26, 2022 at 1:30

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.