I've written a script to implement the Mann-Whitney U non-parametric test. As a guide, I used a data set (attached) and example calculations from a statistics text. The script seems to work fine, as it produces the exact same results as in the text. I also compared the results using a commercial stats application -- same. All good.
But, then I read this in the documentation for MATLAB's ranksum function: "This test is equivalent to a Mann-Whitney U-test." Hmm, I thought, let's see. When I used the same data set in ranksum, the results differ. Here's the output using ranksum:
M = readmatrix('test_data.txt')
p = ranksum(M(:,1), M(:,2))
But, the values my script outputs, and as produced from a commercial app, differ:
z2 = -1.803, p2 = 0.0714 (adjusted for ties)
Any insight on why these results differ is greatly appreciated.