blob: e05c3d29df05c12342c2bc18188a8c8464cfceb3 [file] [log] [blame]
/* -----------------------------------------------------------------------------
* Test Mann-Whitney-test.
*
* Example taken from:
* http://www.itl.nist.gov/div898/handbook/prc/section3/prc35.htm
* -------------------------------------------------------------------------- */
m4_include(`SQLCommon.m4')
m4_changequote(<!,!>)
m4_ifdef(<!__HAS_ORDERED_AGGREGATES__!>,<!
CREATE TABLE nist_mw_example (
id SERIAL,
group_a FLOAT8,
rank_a FLOAT8,
group_b FLOAT8,
rank_b FLOAT8
);
COPY nist_mw_example(group_a, rank_a, group_b, rank_b) FROM stdin;
.55 8 .49 5
.67 15.5 .68 17
.43 1 .59 9.5
.51 6 .72 19
.48 3.5 .67 15.5
.60 11 .75 20.5
.71 18 .65 13.5
.53 7 .77 22
.44 2 .62 12
.65 13.5 .48 3.5
.75 20.5 .59 9.5
\.
CREATE TABLE mw_test AS
SELECT (mw_test(from_first, value ORDER BY value)).*
FROM (
SELECT TRUE AS from_first, group_a AS value
FROM nist_mw_example
UNION ALL
SELECT FALSE, group_b
FROM nist_mw_example
) q;
SELECT * FROM mw_test;
SELECT assert(
relative_error(statistic, -1.346133) < 0.001 AND
u_statistic = 40 AND
relative_error(p_value_one_sided, 1 - 0.089130) < 0.001,
'Mann-Whitney test: Wrong results'
) FROM mw_test;
!>)
m4_changequote(<!`!>,<!'!>)