# How to convert from Mann-Whitney U to Z (or other effect size)?

I'm looking at multiple studies. I do not have the original data. One study I'm looking at provides means, standard deviations, and Mann-Whitney $U$ values (with $p$). (How) can I convert from Mann-Whitney U to Z in R?

[Perhaps using a package such as MAd.]

This page provides some guidance. I'm having the problem though that I am not generating the same $U$ values as the original researchers did using the provided mean values.

From what I can tell - I've scoured pages and now talked to experts - this can't really happen. The closest I found was calculating: $$Z = \frac{{\rm largest}\ U\ {\rm value} – (N_1N_2)/2}{N_1N_2(N_1+N_2+1)]/12}$$ but I don't have access to the original data1 - only a summary $U$, so I can't do this. The data was from a non-normally distributed (small n) sample - so I cannot meaningfully generate a corresponding data set. The purpose of this was conversion for a meta-analysis. I'll have to settle for $p$-value vote counting in my summary.

Though this is closing, I will note the $U$ data I was hoping to convert from:

1 A. N. Antle, G. Corness, and M. Droumeva, What the body knows: Exploring the benefits of embodied metaphors in hybrid physical digital environments, Interact. Comput., vol. 21, no. 1–2, pp. 66–75, Jan. 2009.

One example would be, calculating the ($z$) effect size for "tempo". This wasn't done, because the data was non-parametric - owing to small sample size (most likely).

GroupA:  M = 123, sd = 108
GroupB:  M =  71, sd =  59
Provided U = 5.5, p < .0001


One can try to do such things as mes() from the compute.es package - but the results are beside the point as the data is non-parametric.

mes(123, 71, 108, 59, 10, 10, 95)


The aforementioned link provides a very nice way to calculate a more exact Mann-Witney $U$ (Wilcoxon) - and the compute.es reference page is very helpful - but the missing, non-parametric data make the problem intractable (as far as I can tell). So, I'll be using $p$-values for a less informative "vote count" approach.

• If you don't know how to describe it in detail, then it's not about coding but about theory. You are referencing a coding page but providing none of your own efforts. At the moment it looks like a "do my project for me" question with a bit of "make a good example", too.
– DWin
Commented Apr 18, 2014 at 3:38
• Haha. Fair enough. I'd say the question is a two parter. Can it be done and is there code for it? The closest I've come is: Z = {largest U value – [N1*N2]/2}/(N1)(N2)(N1+N2+1)]/12 - which however suggests that I need a value I don't have access to (as the calculated U value for a group and largest U value from a group are not the same and one does not shed light on the other. Commented Apr 18, 2014 at 13:05
• Are you saying you have summary statistics but you don't even have the sample sizes?? That is so unusual I feel compelled to ask, even though your question strongly implies you don't have this most basic (and essential) information. Another strange aspect of this question concerns the references to "non-parametric data." That makes no sense: a statistical procedure (or the assumptions behind it) can be non-parametric, but the term does not apply to data (nor to sample sizes). Is your reference perhaps using this term in some idiosyncratic way?
– whuber
Commented Apr 18, 2014 at 18:19
• The sample size is listed so I'm a little unclear on that question. I apologize for the unclarity - there is no homogenity of variance, no normal distribution (most likely owing to small sample size). The particular study of interest is listed in the description. Commented Apr 18, 2014 at 19:40
• The sample sizes are the N1 and N2 in the formula for Z. Since you have U, you're all set.
– whuber
Commented Apr 18, 2014 at 20:00

While $U$ is asymptotically normally distributed with a simple form for mean and variance ($\mu=n_1n_2/2, \sigma^2=\mu(n_1+n_2+1)/6$), standardizing U for the mean and s.d. of its own distribution seems to me a dubious measure of effect size (whether or not one subsequently standardizes for $N = n_1+n_2$ as well).

It's not clear what the effect size at that page you link to actually measures. They don't say what they think it represents. But in any case several things they say on that page are wrong. Given the errors there, I would be cautious of what is there unless it had a good justification.

To my mind, effect size should convey something meaningful about the difference between the groups - some meaningful quantity in terms of the original problem, such as:

• some estimate of the difference in population locations (possibly standardized, though personally I'd prefer it in the original units); or

• some estimate of the probability that a random X-value exceeds a random Y-value

(though other measures are possible).

$U$ can be seen as a shifted sum of ranks in the first sample, or a scaled and shifted difference in mean rank.

Casting effect size in terms of a shift in mean rank seems odd, because it doesn't tell us how much movement there is.

If you're willing to do that, you might as well just transform the p-value via an inverse normal cdf and be done with it, for all that tells you. If your sample sizes are big enough to use the normal approximation, they're already the same thing.

$U$ could be seen as a scaled form of the sample version of that $X>Y$ probability above, but the scaled version of the probability doesn't seem to give an intuitive interpretation. If a z-score computed from that kind of probability makes sense for your problem, I suppose you could do that. Once standardized, I have no real feel for how much effect that actually is though. Converted to a Z-score it should be the same as the Z-score mentioned in your post ($\frac{U-\mu_U}{\sigma_U}$).

If you're looking at location shift alternatives, there's already an estimate of the shift in location (the Hodges-Lehmann estimator, which is the median pairwise difference -- note, however, that this median difference is not in general the same as the difference in medians). That estimate and an interval for the population shift can both be generated relatively simply and many stats packages implement that already, as with this example from R:

> wilcox.test(x,y,conf.int=TRUE)

Wilcoxon rank sum test

data:  x and y
W = 89, p-value = 0.02346
alternative hypothesis: true location shift is not equal to 0
95 percent confidence interval:
-8.510 -0.689
sample estimates:
difference in location
-4.4715


In my example above, it gave an estimated location-shift of $-4.4715$ with a 95% interval for the shift $(-8.510, -0.689)$

The estimate of the probability that an X exceeds a Y is $U/n_1n_2 = 0.297$. [I don't know a suitable nonparametric way of generating an interval for that when it's different from $\frac{_1}{^2}$ though.]

As for the difficulty that you don't have the original $U$'s I don't know what can be done, but I'd suggest asking the original authors for the data... or at least the $U$'s.