RUNS: Correct calculation of significance.
authorBen Pfaff <blp@cs.stanford.edu>
Sat, 13 Sep 2014 18:04:45 +0000 (11:04 -0700)
committerBen Pfaff <blp@cs.stanford.edu>
Sat, 13 Sep 2014 18:04:45 +0000 (11:04 -0700)
Reported by Douglas Bonett <dgbonett@ucsc.edu>.

NEWS
src/language/stats/runs.c
tests/language/stats/npar.at

diff --git a/NEWS b/NEWS
index c2bf42b6dd3ca2ae114b5ad3ace638cae8462394..55417fbbbf47e49f9d3a8e29ed1e1b3d48c856b1 100644 (file)
--- 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:
index f5eec1e89ef327675d34ddacdb6513ca76815058..d8f8279e0e339c578081f3be4f4030b132533e23 100644 (file)
@@ -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)
index 328c0e6041fefb302e4604b7892642a3d4649092..3f620147626acf17d2bfb1f4ba06c99dcf9fdef8 100644 (file)
@@ -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.