I have one group of respondents which answer on a scale of 1-5 once before and once after an experiment. I want to see if the experiment made a difference to their responses.

I was told not to use a t-test because of the Likert scale (ordinal data does not seem to fit a t-test) and because my data are not nearly normally distributed (answers to the questions lean heavily to the 1 of the scale (which is not a mistake in the design)).

I am not sure if the Wilcoxon signed-rank test works, because it seems to be designed for differences in groups (as in "Do men respond differently from women?").

Any suggestions on what could actually be used here?

(The answer here refers to a "special paired t-test", but does not explain which one)


1 Answer 1


Wilcoxon's signed-rank test is usually a good choice in such a situation. It is the paired version of Wilcoxon's rank-sum test (aka Mann-Whitney-U-test). I think you are mixing these two procedures.

Make sure you use an exact/pseudo-exact implementation of the test to account for the highly discrete distribution.

EDIT: How you do it in R for x (pre) and y (post)

x <- sample(1:2, 20, T)
y <- sample(2:3, 20, T)

#Basic R gives p value of 0.0007167

#Coin gives p value of 0.0001221
wilcoxsign_test(x~y, distribution = exact())
  • $\begingroup$ Thank you so much for you answer!It's funny how Stata does not allow to choose an exact result (I am assuming the program assumes normality). I guess I have to dust off my R knowledge... $\endgroup$
    – asdir
    Oct 11, 2013 at 13:32
  • 1
    $\begingroup$ @asdir What you tried in Stata is not clear, but see the help on permute for an example of use with ranksum or search somersd for more general approaches. $\endgroup$
    – Nick Cox
    Oct 11, 2013 at 14:03

Your Answer

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

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