Fixed a bug in the Mann-Whitney test vs. missing=analysis.
[pspp] / tests / language / stats / npar.at
index eec7433c34997c5541e3dbf7da71105dacb69150..1fb9e669497d53f8681829fd8cc5664aba327228 100644 (file)
@@ -1,6 +1,6 @@
 AT_BANNER([NPAR TESTS])
 
-AT_SETUP([NPAR TESTS BINOMIAL, P < 0.5; N1/N2 < 1])
+AT_SETUP([NPAR TESTS BINOMIAL P < 0.5; N1/N2 < 1])
 AT_DATA([npar.sps], [dnl
 SET FORMAT F8.3.
 
@@ -25,7 +25,7 @@ x,Group1,1.000,6.000,.286,.300,.551
 ])
 AT_CLEANUP
 
-AT_SETUP([NPAR TESTS BINOMIAL, P < 0.5; N1/N2 > 1])
+AT_SETUP([NPAR TESTS BINOMIAL P < 0.5; N1/N2 > 1])
 AT_DATA([npar.sps], [dnl
 SET FORMAT F8.3.
 
@@ -50,7 +50,7 @@ x,Group1,1,7,.538,.400,.229
 ])
 AT_CLEANUP
 
-AT_SETUP([NPAR TESTS BINOMIAL, P < 0.5; N1/N2 = 1])
+AT_SETUP([NPAR TESTS BINOMIAL P < 0.5; N1/N2 = 1])
 AT_DATA([npar.sps], [dnl
 SET FORMAT F8.3.
 
@@ -75,7 +75,7 @@ x,Group1,1,8,.500,.400,.284
 ])
 AT_CLEANUP
 
-AT_SETUP([NPAR TESTS BINOMIAL, P > 0.5; N1/N2 < 1])
+AT_SETUP([NPAR TESTS BINOMIAL P > 0.5; N1/N2 < 1])
 AT_DATA([npar.sps], [dnl
 SET FORMAT F8.3.
 
@@ -100,7 +100,7 @@ x,Group1,1,11,.478,.600,.164
 ])
 AT_CLEANUP
 
-AT_SETUP([NPAR TESTS BINOMIAL, P > 0.5; N1/N2 > 1])
+AT_SETUP([NPAR TESTS BINOMIAL P > 0.5; N1/N2 > 1])
 AT_DATA([npar.sps], [dnl
 SET FORMAT F8.3.
 
@@ -124,7 +124,7 @@ x,Group1,1,11,.550,.600,.404
 ])
 AT_CLEANUP
 
-AT_SETUP([NPAR TESTS BINOMIAL, P > 0.5; N1/N2 = 1])
+AT_SETUP([NPAR TESTS BINOMIAL P > 0.5; N1/N2 = 1])
 AT_DATA([npar.sps], [dnl
 SET FORMAT F8.3.
 
@@ -148,7 +148,7 @@ x,Group1,1,11,.500,.600,.228
 ])
 AT_CLEANUP
 
-AT_SETUP([NPAR TESTS BINOMIAL, P = 0.5; N1/N2 < 1])
+AT_SETUP([NPAR TESTS BINOMIAL P = 0.5; N1/N2 < 1])
 AT_DATA([npar.sps], [dnl
 SET FORMAT F8.3.
 
@@ -173,7 +173,7 @@ x,Group1,1,8,.348,.500,.210
 ])
 AT_CLEANUP
 
-AT_SETUP([NPAR TESTS BINOMIAL, P = 0.5; N1/N2 > 1])
+AT_SETUP([NPAR TESTS BINOMIAL P = 0.5; N1/N2 > 1])
 AT_DATA([npar.sps], [dnl
 SET FORMAT F8.3.
 
@@ -197,7 +197,7 @@ x,Group1,1,12,.667,.500,.238
 ])
 AT_CLEANUP
 
-AT_SETUP([NPAR TESTS BINOMIAL, P = 0.5; N1/N2 = 1])
+AT_SETUP([NPAR TESTS BINOMIAL P = 0.5; N1/N2 = 1])
 AT_DATA([npar.sps], [dnl
 SET FORMAT F8.3.
 
@@ -222,7 +222,7 @@ x,Group1,1,10,.500,.500,1.000
 ])
 AT_CLEANUP
 
-AT_SETUP([NPAR TESTS BINOMIAL, P = 0.5; N1/N2 = 1 Cutpoint])
+AT_SETUP([NPAR TESTS BINOMIAL P = 0.5; N1/N2 = 1 Cutpoint])
 AT_DATA([npar.sps], [dnl
 SET FORMAT F8.3.
 
@@ -248,7 +248,7 @@ x,Group1,<= 10,10.000,.385,.500,.327
 ])
 AT_CLEANUP
 
-AT_SETUP([NPAR TESTS BINOMIAL, P = 0.5; N1/N2 = 1 Named values])
+AT_SETUP([NPAR TESTS BINOMIAL P = 0.5; N1/N2 = 1 Named values])
 AT_DATA([npar.sps], [dnl
 SET FORMAT F8.3.
 
@@ -1034,6 +1034,52 @@ height,98.0000,218.0000,-.6020,.547
 AT_CLEANUP
 
 
+AT_SETUP([NPAR TESTS Mann-Whitney Multiple])
+dnl Check for a bug where the ranks were inappropriately allocated, when
+dnl multiple variables were tested and MISSING=ANALYSIS chosen.
+
+cp $abs_srcdir/language/mann-whitney.txt .
+
+AT_DATA([npar-mann-whitney.sps], [dnl
+SET FORMAT     = F11.3
+
+DATA LIST NOTABLE FILE='mann-whitney.txt'
+     LIST /I002_01 I002_02 I002_03 I002_04 sum_HL *.
+
+VARIABLE LABELS
+  I002_01 'IOS: Familie'
+  I002_02 'IOS: Freunde'
+  I002_03 'IOS: Partner*in'
+  I002_04 'IOS: Bekannte'.
+  
+MISSING VALUES I002_01 I002_02 I002_03 I002_04 (-9 -1).
+
+NPAR TESTS
+    /MISSING=ANALYSIS
+    /M-W=I002_01 I002_02 I002_03 I002_04 BY sum_HL (0 1).
+])
+
+AT_CHECK([pspp -O format=csv npar-mann-whitney.sps], [0], [dnl
+Table: Ranks
+,N,,,Mean Rank,,Sum of Ranks,
+,.000,1.000,Total,.000,1.000,.000,1.000
+IOS: Familie,114.000,115.000,229.000,110.018,119.939,12542.000,13793.000
+IOS: Freunde,115.000,115.000,230.000,108.339,122.661,12459.000,14106.000
+IOS: Partner*in,97.000,91.000,188.000,95.351,93.593,9249.000,8517.000
+IOS: Bekannte,115.000,115.000,230.000,111.065,119.935,12772.500,13792.500
+
+Table: Test Statistics
+,Mann-Whitney U,Wilcoxon W,Z,Asymp. Sig. (2-tailed)
+IOS: Familie,5987.000,12542.000,-1.167,.243
+IOS: Freunde,5789.000,12459.000,-1.674,.094
+IOS: Partner*in,4331.000,8517.000,-.245,.807
+IOS: Bekannte,6102.500,12772.500,-1.046,.296
+])
+
+AT_CLEANUP
+
+
+
 AT_SETUP([NPAR TESTS Cochran])
 AT_DATA([npar-cochran.sps], [dnl
 set format f11.3.
@@ -1742,3 +1788,50 @@ NPAR TEST
 AT_CHECK([pspp -O format=csv npar.sps], [1], [ignore])
 
 AT_CLEANUP
+
+
+AT_SETUP([NPAR TESTS - crash on invalid syntax])
+
+AT_DATA([npar.sps], [dnl
+data list notable list /ev * xscore *.
+begin data.
+2 109
+3 115
+1 61
+1 101
+3 147
+end data.
+
+
+npar tests
+        /kruskal-wallis xscore by(gv (1, 3).
+])
+
+AT_CHECK([pspp -O format=csv npar.sps], [1], [ignore])
+
+AT_CLEANUP
+
+
+
+
+AT_SETUP([NPAR TESTS - crash on unterminated string])
+
+AT_DATA([npar.sps], [dnl
+DATA LIST NOTABLE LIST /x * y * w * .
+BEGIN DATA.
+3.1 1  4
+3.2 2  1
+4   2  6
+END DATA.
+
+
+NPAR TESTS
+" CHISQUARE=x y(-2,5)
+  /STATISTICS=DESCRIPTIVES
+  .
+])
+
+AT_CHECK([pspp -O format=csv npar.sps], [1], [ignore])
+
+AT_CLEANUP
\ No newline at end of file