1 dnl PSPP - a program for statistical analysis.
2 dnl Copyright (C) 2017, 2022 Free Software Foundation, Inc.
4 dnl This program is free software: you can redistribute it and/or modify
5 dnl it under the terms of the GNU General Public License as published by
6 dnl the Free Software Foundation, either version 3 of the License, or
7 dnl (at your option) any later version.
9 dnl This program is distributed in the hope that it will be useful,
10 dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
11 dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 dnl GNU General Public License for more details.
14 dnl You should have received a copy of the GNU General Public License
15 dnl along with this program. If not, see <http://www.gnu.org/licenses/>.
17 AT_BANNER([NPAR TESTS])
19 AT_SETUP([NPAR TESTS BINOMIAL P < 0.5; N1/N2 < 1])
20 AT_DATA([npar.sps], [dnl
23 DATA LIST LIST NOTABLE /x * w *.
35 AT_CHECK([pspp -O format=csv npar.sps], [0], [dnl
37 ,,Category,N,Observed Prop.,Test Prop.,Exact Sig. (1-tailed)
38 x,Group 1,1.000,6.000,.286,.300,.551
39 ,Group 2,2.000,15.000,.714,,
40 ,Total,,21.000,1.000,,
44 AT_SETUP([NPAR TESTS BINOMIAL P < 0.5; N1/N2 > 1])
45 AT_DATA([npar.sps], [dnl
48 DATA LIST LIST NOTABLE /x (F8.0) w (F8.0).
60 AT_CHECK([pspp -O format=csv npar.sps], [0], [dnl
62 ,,Category,N,Observed Prop.,Test Prop.,Exact Sig. (1-tailed)
63 x,Group 1,1,7,.538,.400,.229
69 AT_SETUP([NPAR TESTS BINOMIAL P < 0.5; N1/N2 = 1])
70 AT_DATA([npar.sps], [dnl
73 DATA LIST LIST NOTABLE /x (F8.0) w (F8.0).
85 AT_CHECK([pspp -O format=csv npar.sps], [0], [dnl
87 ,,Category,N,Observed Prop.,Test Prop.,Exact Sig. (1-tailed)
88 x,Group 1,1,8,.500,.400,.284
94 AT_SETUP([NPAR TESTS BINOMIAL P > 0.5; N1/N2 < 1])
95 AT_DATA([npar.sps], [dnl
98 DATA LIST LIST NOTABLE /x (F8.0) w (F8.0).
110 AT_CHECK([pspp -O format=csv npar.sps], [0], [dnl
112 ,,Category,N,Observed Prop.,Test Prop.,Exact Sig. (1-tailed)
113 x,Group 1,1,11,.478,.600,.164
119 AT_SETUP([NPAR TESTS BINOMIAL P > 0.5; N1/N2 > 1])
120 AT_DATA([npar.sps], [dnl
123 DATA LIST LIST NOTABLE /x (F8.0) w (F8.0).
134 AT_CHECK([pspp -O format=csv npar.sps], [0], [dnl
136 ,,Category,N,Observed Prop.,Test Prop.,Exact Sig. (1-tailed)
137 x,Group 1,1,11,.550,.600,.404
143 AT_SETUP([NPAR TESTS BINOMIAL P > 0.5; N1/N2 = 1])
144 AT_DATA([npar.sps], [dnl
147 DATA LIST LIST NOTABLE /x (F8.0) w (F8.0).
158 AT_CHECK([pspp -O format=csv npar.sps], [0], [dnl
160 ,,Category,N,Observed Prop.,Test Prop.,Exact Sig. (1-tailed)
161 x,Group 1,1,11,.500,.600,.228
167 AT_SETUP([NPAR TESTS BINOMIAL P = 0.5; N1/N2 < 1])
168 AT_DATA([npar.sps], [dnl
171 DATA LIST LIST NOTABLE /x (F8.0) w (F8.0).
183 AT_CHECK([pspp -O format=csv npar.sps], [0], [dnl
185 ,,Category,N,Observed Prop.,Test Prop.,Exact Sig. (2-tailed)
186 x,Group 1,1,8,.348,.500,.210
192 AT_SETUP([NPAR TESTS BINOMIAL P = 0.5; N1/N2 > 1])
193 AT_DATA([npar.sps], [dnl
196 DATA LIST LIST NOTABLE /x (F8.0) w (F8.0).
207 AT_CHECK([pspp -O format=csv npar.sps], [0], [dnl
209 ,,Category,N,Observed Prop.,Test Prop.,Exact Sig. (2-tailed)
210 x,Group 1,1,12,.667,.500,.238
216 AT_SETUP([NPAR TESTS BINOMIAL P = 0.5; N1/N2 = 1])
217 AT_DATA([npar.sps], [dnl
220 DATA LIST LIST NOTABLE /x (F8.0) w (F8.0).
232 AT_CHECK([pspp -O format=csv npar.sps], [0], [dnl
234 ,,Category,N,Observed Prop.,Test Prop.,Exact Sig. (2-tailed)
235 x,Group 1,1,10,.500,.500,1.000
241 AT_SETUP([NPAR TESTS BINOMIAL P = 0.5; N1/N2 = 1 Cutpoint])
242 AT_DATA([npar.sps], [dnl
245 DATA LIST LIST NOTABLE /x * w *.
255 /BINOMIAL(0.5) = x (10)
258 AT_CHECK([pspp -O format=csv npar.sps], [0], [dnl
260 ,,Category,N,Observed Prop.,Test Prop.,Exact Sig. (2-tailed)
261 x,Group 1,<= 10,10.000,.385,.500,.327
262 ,Group 2,,16.000,.615,,
263 ,Total,,26.000,1.000,,
267 AT_SETUP([NPAR TESTS BINOMIAL P = 0.5; N1/N2 = 1 Named values])
268 AT_DATA([npar.sps], [dnl
271 DATA LIST LIST NOTABLE /x * w *.
281 /BINOMIAL(0.5) = x (10, 20)
284 AT_CHECK([pspp -O format=csv npar.sps], [0], [dnl
286 ,,Category,N,Observed Prop.,Test Prop.,Exact Sig. (2-tailed)
287 x,Group 1,10.000,10.000,.435,.500,.678
288 ,Group 2,20.000,13.000,.565,,
289 ,Total,,23.000,1.000,,
295 dnl Test for a bug which caused binomial to crash.
296 AT_SETUP([NPAR TESTS BINOMIAL - crash])
297 AT_DATA([nparX.sps], [dnl
298 data list list /range *.
304 * This is invalid syntax
306 /BINOMIAL(0.5) = Range().
309 AT_CHECK([pspp -O format=csv nparX.sps], [1], [ignore])
315 AT_SETUP([NPAR TESTS CHISQUARE])
316 AT_DATA([npar.sps], [dnl
317 DATA LIST NOTABLE LIST /x * y * w *.
345 AT_CHECK([pspp -O format=csv npar.sps], [0], [dnl
347 Value,Observed N,Expected N,Residual
357 Value,Observed N,Expected N,Residual
364 Table: Test Statistics
365 ,Chi-square,df,Asymp. Sig.
370 Value,Observed N,Expected N,Residual
377 Table: Test Statistics
378 ,Chi-square,df,Asymp. Sig.
383 ,Category,Observed N,Expected N,Residual,Category,Observed N,Expected N,Residual
384 1,2.00,3.00,3.16,-.16,2.00,4.00,2.21,1.79
385 2,3.00,5.00,5.26,-.26,3.00,1.00,3.68,-2.68
386 3,4.00,2.00,1.58,.42,4.00,2.00,1.11,.89
387 Total,,10.00,,,,7.00,,
389 Table: Test Statistics
390 ,Chi-square,df,Asymp. Sig.
397 AT_SETUP([NPAR TESTS CHISQUARE expected values missing])
398 AT_DATA([npar.sps], [dnl
399 DATA LIST NOTABLE LIST /x * y * w *.
414 /EXPECTED = 3 4 5 4 3 1
418 AT_CHECK([pspp -O format=csv npar.sps], [1], [dnl
419 "error: CHISQUARE test specified 6 expected values, but variable y has 4 distinct values."
421 Table: Test Statistics
422 ,Chi-square,df,Asymp. Sig.
428 AT_SETUP([NPAR TESTS CHISQUARE with DESCRIPTIVES])
429 AT_DATA([npar.sps], [dnl
430 DATA LIST NOTABLE LIST /x * y * w * .
444 MISSING VALUES x (4).
449 /STATISTICS=DESCRIPTIVES
453 AT_CHECK([pspp -O format=csv npar.sps], [0], [dnl
456 ,Category,Observed N,Expected N,Residual,Category,Observed N,Expected N,Residual
457 1,-2.00,.00,1.50,-1.50,-2.00,.00,1.88,-1.88
458 2,-1.00,.00,1.50,-1.50,-1.00,.00,1.88,-1.88
459 3,.00,.00,1.50,-1.50,.00,.00,1.88,-1.88
460 4,1.00,3.00,1.50,1.50,1.00,7.00,1.88,5.13
461 5,2.00,3.00,1.50,1.50,2.00,4.00,1.88,2.13
462 6,3.00,5.00,1.50,3.50,3.00,1.00,1.88,-.88
463 7,4.00,.00,1.50,-1.50,4.00,2.00,1.88,.13
464 8,5.00,1.00,1.50,-.50,5.00,1.00,1.88,-.88
465 Total,,12.00,,,,15.00,,
467 Table: Test Statistics
468 ,Chi-square,df,Asymp. Sig.
472 Table: Descriptive Statistics
473 ,N,Mean,Std. Deviation,Minimum,Maximum
474 x,12.00,2.47,1.19,1.00,5.00
475 y,15.00,2.07,1.33,1.00,5.00
479 AT_SETUP([NPAR TESTS CHISQUARE, listwise missing])
480 AT_DATA([npar.sps], [dnl
481 DATA LIST NOTABLE LIST /x * y * w * .
495 * MISSING VALUES x (4).
500 /STATISTICS=DESCRIPTIVES
504 AT_CHECK([pspp -O format=csv npar.sps], [0], [dnl
507 ,Category,Observed N,Expected N,Residual,Category,Observed N,Expected N,Residual
508 1,-2.00,.00,1.75,-1.75,-2.00,.00,1.75,-1.75
509 2,-1.00,.00,1.75,-1.75,-1.00,.00,1.75,-1.75
510 3,.00,.00,1.75,-1.75,.00,.00,1.75,-1.75
511 4,1.00,3.00,1.75,1.25,1.00,7.00,1.75,5.25
512 5,2.00,3.00,1.75,1.25,2.00,4.00,1.75,2.25
513 6,3.00,5.00,1.75,3.25,3.00,1.00,1.75,-.75
514 7,4.00,2.00,1.75,.25,4.00,2.00,1.75,.25
515 8,5.00,1.00,1.75,-.75,5.00,.00,1.75,-1.75
516 Total,,14.00,,,,14.00,,
518 Table: Test Statistics
519 ,Chi-square,df,Asymp. Sig.
523 Table: Descriptive Statistics
524 ,N,Mean,Std. Deviation,Minimum,Maximum
525 x,14.00,2.69,1.23,1.00,5.00
526 y,14.00,1.86,1.10,1.00,4.00
530 AT_SETUP([NPAR TESTS WILCOXON])
531 AT_DATA([npar.sps], [dnl
532 data list notable list /foo * bar * w (f8.0).
550 variable labels foo "first" bar "second".
555 /wilcoxon=foo with bar (paired)
560 AT_CHECK([pspp -O format=csv npar.sps], [0], [dnl
562 ,,N,Mean Rank,Sum of Ranks
563 first - second,Negative Ranks,8,6.00,48.00
564 ,Positive Ranks,5,8.60,43.00
568 Table: Test Statistics
571 Asymp. Sig. (2-tailed),.861
572 Exact Sig. (2-tailed),.893
573 Exact Sig. (1-tailed),.446
578 AT_SETUP([NPAR TESTS WILCOXON with missing values])
579 AT_DATA([npar.sps], [dnl
580 data list notable list /foo * bar * dummy *.
600 variable labels foo "first" bar "second".
603 /wilcoxon=foo with bar (paired)
608 dnl This is the same output as the previous test.
609 AT_CHECK([pspp -O format=csv npar.sps], [0], [dnl
611 ,,N,Mean Rank,Sum of Ranks
612 first - second,Negative Ranks,8,6.00,48.00
613 ,Positive Ranks,5,8.60,43.00
617 Table: Test Statistics
620 Asymp. Sig. (2-tailed),.861
621 Exact Sig. (2-tailed),.893
622 Exact Sig. (1-tailed),.446
626 AT_SETUP([NPAR TESTS SIGN])
627 AT_DATA([npar.sps], [dnl
630 data list notable list /age * height rank *.
641 /sign=age height WITH height rank (PAIRED)
646 AT_CHECK([pspp -o pspp.csv npar.sps])
647 dnl Some machines return .313 instead of .312
648 dnl (see bug #31611).
649 AT_CHECK([sed -e 's/\.313$/.312/' -e 's/^Exact Sig\. (1-tailed),\.313/Exact Sig. (1-tailed),.312/' pspp.csv], [0], [dnl
652 age - height,Negative Differences,3
653 ,Positive Differences,1
656 height - rank,Negative Differences,2
657 ,Positive Differences,3
661 Table: Test Statistics
662 ,age - height,height - rank
663 Exact Sig. (2-tailed),.625,1.000
664 Exact Sig. (1-tailed),.312,.500
665 Point Probability,.250,.312
670 AT_SETUP([NPAR Kruskal-Wallis test])
673 AT_DATA([kw-simple.sps], [dnl
676 data list notable list /gv * xscore *.
697 3 "handled the ball".
700 /kruskal-wallis xscore by gv (1, 3)
704 AT_CHECK([pspp -o pspp.csv -o pspp.txt kw-simple.sps])
705 AT_CHECK([cat pspp.csv], [0], [dnl
708 xscore,timed out,5,4.400
710 ,handled the ball,4,11.500
713 Table: Test Statistics
721 dnl Now try a missing value in the group variable
722 AT_DATA([kw-missing-group.sps], [dnl
725 data list notable list /gv * xscore *.
744 missing values gv (2.5).
749 3 "handled the ball".
752 /kruskal-wallis xscore by gv (1, 3)
757 AT_CHECK([pspp -o pspp2.csv kw-missing-group.sps])
759 dnl The result should be the same as before
760 AT_CHECK([diff pspp.csv pspp2.csv], [0])
762 dnl Reverse the order of the group values
763 AT_DATA([kw-reverse-group.sps], [dnl
766 data list notable list /gv * xscore *.
787 3 "handled the ball".
790 /kruskal-wallis xscore by gv (3, 1)
795 AT_CHECK([pspp -o pspp2.csv kw-reverse-group.sps])
797 dnl The result should be the same as before
798 AT_CHECK([diff pspp.csv pspp2.csv], [0])
803 AT_SETUP([NPAR Kruskal-Wallis multiple-variables])
805 AT_DATA([kw-multi.sps], [dnl
808 data list notable list /gv * xscore * yscore.
840 /k-w xscore yscore by gv (1, 5)
846 AT_CHECK([pspp -o pspp.csv kw-multi.sps])
847 AT_CHECK([cat pspp.csv], [0], [dnl
850 xscore,timed out,5,4.400
852 ,handled the ball,4,11.500
854 yscore,hit wicket,5,7.400
855 ,handled the ball,4,11.500
859 Table: Test Statistics
861 Chi-Square,6.406,6.406
863 Asymp. Sig.,.041,.041
870 AT_SETUP([NPAR TESTS Runs])
871 AT_DATA([npar-runs.sps], [dnl
873 data list notable list /score * w *.
916 /runs (MEDIAN) = score
922 AT_CHECK([pspp -O format=csv npar-runs.sps], [0],
925 Test Value (median),3.0000
926 Cases < Test Value,177.0000
927 Cases ≥ Test Value,309.0000
931 Asymp. Sig. (2-tailed),.000
935 Test Value (mean),3.6379
936 Cases < Test Value,259.0000
937 Cases ≥ Test Value,227.0000
941 Asymp. Sig. (2-tailed),.000
945 Test Value (mode),6.0000
946 Cases < Test Value,316.0000
947 Cases ≥ Test Value,170.0000
951 Asymp. Sig. (2-tailed),.000
957 dnl Thanks to Douglas Bonett for providing this test case.
958 AT_SETUP([NPAR TESTS Runs (2)])
959 AT_DATA([npar-runs.sps], [dnl
960 data list notable free /y.
962 1 1 2 1 2 1 1 2 1 1 1 2 1 2
964 NPAR TEST /RUNS(1.5) = y.
967 AT_CHECK([pspp -O format=csv npar-runs.sps], [0], [dnl
976 Asymp. Sig. (2-tailed),.206
981 AT_SETUP([NPAR TESTS Friedman])
982 AT_DATA([npar-friedman.sps], [dnl
984 data list notable list /x * y * z.
1002 AT_CHECK([pspp -O format=csv npar-friedman.sps], [0], [dnl
1009 Table: Test Statistics
1020 AT_SETUP([NPAR TESTS Mann-Whitney])
1021 AT_DATA([npar-mann-whitney.sps], [dnl
1024 data list notable list /height * sex (f1.0).
1063 /M-W = height BY sex (0,1).
1066 AT_CHECK([pspp -O format=csv npar-mann-whitney.sps], [0], [dnl
1068 ,,N,Mean Rank,Sum of Ranks
1069 height,0,15,14.5333,218.0000
1070 ,1,15,16.4667,247.0000
1073 Table: Test Statistics
1074 ,Mann-Whitney U,Wilcoxon W,Z,Asymp. Sig. (2-tailed)
1075 height,98.0000,218.0000,-.6020,.547
1082 AT_SETUP([NPAR TESTS Mann-Whitney Multiple])
1083 dnl Check for a bug where the ranks were inappropriately allocated, when
1084 dnl multiple variables were tested and MISSING=ANALYSIS chosen.
1086 cp "$abs_srcdir/language/mann-whitney.txt" .
1088 AT_DATA([npar-mann-whitney.sps], [dnl
1091 DATA LIST NOTABLE FILE='mann-whitney.txt'
1092 LIST /I002_01 I002_02 I002_03 I002_04 sum_HL *.
1095 I002_01 'IOS: Familie'
1096 I002_02 'IOS: Freunde'
1097 I002_03 'IOS: Partner*in'
1098 I002_04 'IOS: Bekannte'.
1100 MISSING VALUES I002_01 I002_02 I002_03 I002_04 (-9 -1).
1104 /M-W=I002_01 I002_02 I002_03 I002_04 BY sum_HL (0 1).
1107 AT_CHECK([pspp -O format=csv npar-mann-whitney.sps], [0], [dnl
1109 ,,N,Mean Rank,Sum of Ranks
1110 IOS: Familie,.000,114,110.018,12542.000
1111 ,1.000,115,119.939,13793.000
1113 IOS: Freunde,.000,115,108.339,12459.000
1114 ,1.000,115,122.661,14106.000
1116 IOS: Partner*in,.000,97,95.351,9249.000
1117 ,1.000,91,93.593,8517.000
1119 IOS: Bekannte,.000,115,111.065,12772.500
1120 ,1.000,115,119.935,13792.500
1123 Table: Test Statistics
1124 ,Mann-Whitney U,Wilcoxon W,Z,Asymp. Sig. (2-tailed)
1125 IOS: Familie,5987.000,12542.000,-1.167,.243
1126 IOS: Freunde,5789.000,12459.000,-1.674,.094
1127 IOS: Partner*in,4331.000,8517.000,-.245,.807
1128 IOS: Bekannte,6102.500,12772.500,-1.046,.296
1135 AT_SETUP([NPAR TESTS Cochran])
1136 AT_DATA([npar-cochran.sps], [dnl
1139 data list notable list /v1 * v2 * v3 * v4 * v5 * v6 * v7 *.
1153 /cochran = v1 to v7 .
1157 AT_CHECK([pspp -o pspp.csv npar-cochran.sps])
1159 AT_CHECK([cat pspp.csv], [0], [dnl
1162 ,Success (2),Failure (1)
1171 Table: Test Statistics
1183 AT_SETUP([NPAR TESTS Kendall])
1184 AT_DATA([npar-kendall.sps], [dnl
1187 data list notable list /v1 * v2 * v3
1227 AT_CHECK([pspp -o pspp.csv npar-kendall.sps])
1229 AT_CHECK([cat pspp.csv], [0], [dnl
1236 Table: Test Statistics
1248 AT_SETUP([NPAR TESTS McNemar])
1250 AT_DATA([mcnemar.sps], [dnl
1252 data list notable list /v1 * v2 * junk *.
1277 /mcnemar = v1 WITH v2 junk.
1280 AT_CHECK([pspp -O format=csv mcnemar.sps], [0], [dnl
1293 Table: Test Statistics
1294 ,N,Exact Sig. (2-tailed),Exact Sig. (1-tailed),Point Probability
1295 v1 & v2,20,.065,.033,.027
1296 v1 & junk,20,.453,.227,.164
1302 AT_SETUP([NPAR TESTS McNemar Symetricity])
1304 AT_DATA([mcnemar.sps], [dnl
1305 data list notable list /var1 var2 w (F2.0).
1316 /MCNEMAR var1 WITH var2 (PAIRED).
1319 /MCNEMAR var2 WITH var1 (PAIRED).
1322 AT_CHECK([pspp -O format=csv mcnemar.sps], [0], [dnl
1329 Table: Test Statistics
1330 ,N,Exact Sig. (2-tailed),Exact Sig. (1-tailed),Point Probability
1331 var1 & var2,23,.039,.020,.02
1339 Table: Test Statistics
1340 ,N,Exact Sig. (2-tailed),Exact Sig. (1-tailed),Point Probability
1341 var2 & var1,23,.039,.020,.02
1346 AT_SETUP([NPAR TESTS Kolmogorov-Smirnov Uniform parameters given])
1348 AT_DATA([ks-uniform.sps], [dnl
1350 data list notable list /x *.
1364 npar tests k-s (uniform 0 1) = x.
1367 AT_CHECK([pspp -O format=csv ks-uniform.sps], [0], [dnl
1368 Table: One-Sample Kolmogorov-Smirnov Test
1371 Uniform Parameters,Minimum,.000
1373 Most Extreme Differences,Absolute,.289
1376 Kolmogorov-Smirnov Z,,.914
1377 Asymp. Sig. (2-tailed),,.374
1383 AT_SETUP([NPAR TESTS Kolmogorov-Smirnov Normal parameters imputed])
1385 AT_DATA([ks-normal.sps], [dnl
1388 data list notable list /foo * bar *.
1567 /k-s (normal) = foo bar.
1570 AT_CHECK([pspp -O format=csv ks-normal.sps], [0], [dnl
1571 Table: One-Sample Kolmogorov-Smirnov Test
1574 Normal Parameters,Mean,62.109,13.108
1575 ,Std. Deviation,11.548,.718
1576 Most Extreme Differences,Absolute,.059,.115
1578 ,Negative,-.059,-.082
1579 Kolmogorov-Smirnov Z,,.785,.795
1580 Asymp. Sig. (2-tailed),,.569,.552
1587 AT_SETUP([NPAR TESTS Median Test (median imputed)])
1589 AT_DATA([median1.sps], [dnl
1591 data list notable list /ignore * animal * years * w *.
1626 variable label years 'Years expected'.
1627 variable label animal 'Animal Genus'.
1629 add value labels animal 1 'Animal 1' 2 'Animal 2' 3 'Animal 3' 4 'Animal 4' 5 'Animal 5'.
1632 /median = years by animal (1, 5)
1637 AT_CHECK([pspp -O format=csv median1.sps], [0], [dnl
1640 ,,Animal 1,Animal 2,Animal 3,Animal 4,Animal 5
1641 Years expected,> Median,2,1,2,3,4
1644 Table: Test Statistics
1645 ,N,Median,Chi-Square,df,Asymp. Sig.
1646 Years expected,28,7.000,4.317,4,.365
1652 AT_SETUP([NPAR TESTS Median Test (median given)])
1654 AT_DATA([median2.sps], [dnl
1656 data list notable list /ignore * animal * years * w *.
1689 variable label years 'Years expected'.
1690 variable label animal 'Animal Genus'.
1692 add value labels animal 1 'Animal 1' 2 'Animal 2' 3 'Animal 3' 4 'Animal 4' 5 'Animal 5'.
1695 /median (7) = years by animal (1, 5)
1700 AT_CHECK([pspp -O format=csv median2.sps], [0], [dnl
1703 ,,Animal 1,Animal 2,Animal 3,Animal 4,Animal 5
1704 Years expected,> Median,2,1,2,3,4
1707 Table: Test Statistics
1708 ,N,Median,Chi-Square,df,Asymp. Sig.
1709 Years expected,28,7.000,4.317,4,.365
1715 AT_SETUP([NPAR TESTS Median Test (two sample)])
1717 AT_DATA([median3.sps], [dnl
1719 data list notable list /xx * animal * years * w *.
1752 variable label years 'Years expected'.
1753 variable label animal 'Animal Genus'.
1755 add value labels animal 1 'Animal 1' 2 'Animal 2' 3 'Animal 3' 4 'Animal 4' 5 'Animal 5'.
1758 /median (7) = xx years by animal (5, 1)
1763 AT_CHECK([pspp -O format=csv median3.sps], [0], [dnl
1769 Years expected,> Median,2,4
1772 Table: Test Statistics
1773 ,N,Median,Chi-Square,df,Asymp. Sig.
1774 xx,9,7.000,NaN,1,NaN
1775 Years expected,9,7.000,.900,1,.343
1781 AT_SETUP([NPAR TESTS Jonckheere-Terpstra])
1783 AT_DATA([jt.sps], [dnl
1785 data list notable list /x * g * w *.
1810 npar test /jonckheere-terpstra = x by g (5, 2).
1814 AT_CHECK([pspp -O format=csv jt.sps], [0], [dnl
1815 Table: Jonckheere-Terpstra Test
1816 ,Number of levels in g,N,Observed J-T Statistic,Mean J-T Statistic,Std. Deviation of J-T Statistic,Std. J-T Statistic,Asymp. Sig. (2-tailed)
1817 x,4,24.000,29.500,65.000,15.902,-2.232,.026
1822 dnl Checks that (PAIRED) can have lists where the same
1823 dnl variable appears more than once.
1824 AT_SETUP([NPAR TESTS (PAIRED)])
1825 AT_DATA([npar.sps], [dnl
1827 data list notable list /a * b * c *.
1835 npar tests /wilcoxon a b with c c (paired).
1838 AT_CHECK([pspp -O format=csv npar.sps], [0], [dnl
1840 ,,N,Mean Rank,Sum of Ranks
1841 a - c,Negative Ranks,2,2.500,5.000
1842 ,Positive Ranks,2,2.500,5.000
1845 b - c,Negative Ranks,1,1.500,1.500
1846 ,Positive Ranks,2,2.250,4.500
1850 Table: Test Statistics
1853 Asymp. Sig. (2-tailed),1.000,.414
1861 AT_SETUP([NPAR TESTS CHISQUARE crash])
1862 dnl This syntax had been observed to crash pspp
1864 AT_DATA([npar.sps], [dnl
1865 data list list /x *.
1879 * This happens to be invalid syntax. But should not crash.
1881 /CHISQUARE= x(0.098, 99.098)
1885 AT_CHECK([pspp -O format=csv npar.sps], [1], [ignore])
1890 AT_SETUP([NPAR TESTS - crash on invalid syntax])
1892 AT_DATA([npar.sps], [dnl
1893 data list notable list /ev * xscore *.
1904 /kruskal-wallis xscore by(gv (1, 3).
1907 AT_CHECK([pspp -O format=csv npar.sps], [1], [ignore])
1914 AT_SETUP([NPAR TESTS - crash on unterminated string])
1916 AT_DATA([npar.sps], [dnl
1917 DATA LIST NOTABLE LIST /x * y * w * .
1926 " CHISQUARE=x y(-2,5)
1927 /STATISTICS=DESCRIPTIVES
1931 AT_CHECK([pspp -O format=csv npar.sps], [1], [ignore])