From: Ben Pfaff Date: Sat, 13 Sep 2014 18:04:45 +0000 (-0700) Subject: RUNS: Correct calculation of significance. X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?p=pspp;a=commitdiff_plain;h=dd415397beff015f3e9dabde00c95db263c99768 RUNS: Correct calculation of significance. Reported by Douglas Bonett . --- diff --git a/NEWS b/NEWS index c2bf42b6dd..55417fbbbf 100644 --- a/NEWS +++ b/NEWS @@ -6,6 +6,9 @@ Please send PSPP bug reports to bug-gnu-pspp@gnu.org. Changes since 0.8.3.1: + * The NPAR TESTS calculation of significance for the RUNS subcommand + has been corrected. + * Formatting of SYSFILE INFO output was made easier to read. Changes from 0.8.3 to 0.8.3.1: diff --git a/src/language/stats/runs.c b/src/language/stats/runs.c index f5eec1e89e..d8f8279e0e 100644 --- a/src/language/stats/runs.c +++ b/src/language/stats/runs.c @@ -360,7 +360,7 @@ show_runs_result (const struct runs_test *rt, const struct run_state *rs, const z, NULL, RC_OTHER); tab_double (table, row_headers +i, 7, 0, - 2.0 * gsl_cdf_ugaussian_P (z), NULL, RC_PVALUE); + 2.0 * (1.0 - gsl_cdf_ugaussian_P (z)), NULL, RC_PVALUE); } switch ( rt->cp_mode) diff --git a/tests/language/stats/npar.at b/tests/language/stats/npar.at index 328c0e6041..3f62014762 100644 --- a/tests/language/stats/npar.at +++ b/tests/language/stats/npar.at @@ -884,7 +884,7 @@ Cases ≥ Test Value,309.0000 Total Cases,486.0000 Number of Runs,12 Z,-20.9931 -Asymp. Sig. (2-tailed),.000 +Asymp. Sig. (2-tailed),2.000 Table: Runs Test ,score @@ -894,7 +894,7 @@ Cases ≥ Test Value,227.0000 Total Cases,486.0000 Number of Runs,12 Z,-21.0650 -Asymp. Sig. (2-tailed),.000 +Asymp. Sig. (2-tailed),2.000 Table: Runs Test ,score @@ -904,12 +904,36 @@ Cases ≥ Test Value,170.0000 Total Cases,486.0000 Number of Runs,11 Z,-21.0742 -Asymp. Sig. (2-tailed),.000 +Asymp. Sig. (2-tailed),2.000 ]) AT_CLEANUP +dnl Thanks to Douglas Bonett for providing this test case. +AT_SETUP([NPAR TESTS Runs (2)]) +AT_DATA([npar-runs.sps], [dnl +data list notable free /y. +begin data +1 1 2 1 2 1 1 2 1 1 1 2 1 2 +end data. +NPAR TEST /RUNS(1.5) = y. +]) + +AT_CHECK([pspp -O format=csv npar-runs.sps], [0], [dnl +Table: Runs Test +,y +Test Value,1.50 +Cases < Test Value,9 +Cases ≥ Test Value,5 +Total Cases,14 +Number of Runs,10 +Z,1.26 +Asymp. Sig. (2-tailed),.206 +]) +AT_CLEANUP + + AT_SETUP([NPAR TESTS Friedman]) AT_DATA([npar-friedman.sps], [dnl set format F15.4.