1 AT_BANNER([NPAR TESTS])
3 AT_SETUP([NPAR TESTS BINOMIAL, P < 0.5; N1/N2 < 1])
4 AT_DATA([npar.sps], [dnl
7 DATA LIST LIST NOTABLE /x * w *.
19 AT_CHECK([pspp -O format=csv npar.sps], [0], [dnl
21 ,,Category,N,Observed Prop.,Test Prop.,Exact Sig. (1-tailed)
22 x,Group1,1.000,6.000,.286,.300,.551
23 ,Group2,2.000,15.000,.714,,
24 ,Total,,21.000,1.000,,
28 AT_SETUP([NPAR TESTS BINOMIAL, P < 0.5; N1/N2 > 1])
29 AT_DATA([npar.sps], [dnl
32 DATA LIST LIST NOTABLE /x (F8.0) w (F8.0).
44 AT_CHECK([pspp -O format=csv npar.sps], [0], [dnl
46 ,,Category,N,Observed Prop.,Test Prop.,Exact Sig. (1-tailed)
47 x,Group1,1,7,.538,.400,.229
53 AT_SETUP([NPAR TESTS BINOMIAL, P < 0.5; N1/N2 = 1])
54 AT_DATA([npar.sps], [dnl
57 DATA LIST LIST NOTABLE /x (F8.0) w (F8.0).
69 AT_CHECK([pspp -O format=csv npar.sps], [0], [dnl
71 ,,Category,N,Observed Prop.,Test Prop.,Exact Sig. (1-tailed)
72 x,Group1,1,8,.500,.400,.284
78 AT_SETUP([NPAR TESTS BINOMIAL, P > 0.5; N1/N2 < 1])
79 AT_DATA([npar.sps], [dnl
82 DATA LIST LIST NOTABLE /x (F8.0) w (F8.0).
94 AT_CHECK([pspp -O format=csv npar.sps], [0], [dnl
96 ,,Category,N,Observed Prop.,Test Prop.,Exact Sig. (1-tailed)
97 x,Group1,1,11,.478,.600,.164
103 AT_SETUP([NPAR TESTS BINOMIAL, P > 0.5; N1/N2 > 1])
104 AT_DATA([npar.sps], [dnl
107 DATA LIST LIST NOTABLE /x (F8.0) w (F8.0).
118 AT_CHECK([pspp -O format=csv npar.sps], [0], [dnl
120 ,,Category,N,Observed Prop.,Test Prop.,Exact Sig. (1-tailed)
121 x,Group1,1,11,.550,.600,.404
127 AT_SETUP([NPAR TESTS BINOMIAL, P > 0.5; N1/N2 = 1])
128 AT_DATA([npar.sps], [dnl
131 DATA LIST LIST NOTABLE /x (F8.0) w (F8.0).
142 AT_CHECK([pspp -O format=csv npar.sps], [0], [dnl
144 ,,Category,N,Observed Prop.,Test Prop.,Exact Sig. (1-tailed)
145 x,Group1,1,11,.500,.600,.228
151 AT_SETUP([NPAR TESTS BINOMIAL, P = 0.5; N1/N2 < 1])
152 AT_DATA([npar.sps], [dnl
155 DATA LIST LIST NOTABLE /x (F8.0) w (F8.0).
167 AT_CHECK([pspp -O format=csv npar.sps], [0], [dnl
169 ,,Category,N,Observed Prop.,Test Prop.,Exact Sig. (2-tailed)
170 x,Group1,1,8,.348,.500,.210
176 AT_SETUP([NPAR TESTS BINOMIAL, P = 0.5; N1/N2 > 1])
177 AT_DATA([npar.sps], [dnl
180 DATA LIST LIST NOTABLE /x (F8.0) w (F8.0).
191 AT_CHECK([pspp -O format=csv npar.sps], [0], [dnl
193 ,,Category,N,Observed Prop.,Test Prop.,Exact Sig. (2-tailed)
194 x,Group1,1,12,.667,.500,.238
200 AT_SETUP([NPAR TESTS BINOMIAL, P = 0.5; N1/N2 = 1])
201 AT_DATA([npar.sps], [dnl
204 DATA LIST LIST NOTABLE /x (F8.0) w (F8.0).
216 AT_CHECK([pspp -O format=csv npar.sps], [0], [dnl
218 ,,Category,N,Observed Prop.,Test Prop.,Exact Sig. (2-tailed)
219 x,Group1,1,10,.500,.500,1.000
225 AT_SETUP([NPAR TESTS BINOMIAL, P = 0.5; N1/N2 = 1 Cutpoint])
226 AT_DATA([npar.sps], [dnl
229 DATA LIST LIST NOTABLE /x * w *.
239 /BINOMIAL(0.5) = x (10)
242 AT_CHECK([pspp -O format=csv npar.sps], [0], [dnl
244 ,,Category,N,Observed Prop.,Test Prop.,Exact Sig. (2-tailed)
245 x,Group1,<= 10,10.000,.385,.500,.327
246 ,Group2,,16.000,.615,,
247 ,Total,,26.000,1.000,,
251 AT_SETUP([NPAR TESTS BINOMIAL, P = 0.5; N1/N2 = 1 Named values])
252 AT_DATA([npar.sps], [dnl
255 DATA LIST LIST NOTABLE /x * w *.
265 /BINOMIAL(0.5) = x (10, 20)
268 AT_CHECK([pspp -O format=csv npar.sps], [0], [dnl
270 ,,Category,N,Observed Prop.,Test Prop.,Exact Sig. (2-tailed)
271 x,Group1,10.000,10.000,.435,.500,.678
272 ,Group2,20.000,13.000,.565,,
273 ,Total,,23.000,1.000,,
279 dnl Test for a bug which caused binomial to crash.
280 AT_SETUP([NPAR TESTS BINOMIAL - crash])
281 AT_DATA([nparX.sps], [dnl
282 data list list /range *.
288 * This is invalid syntax
290 /BINOMIAL(0.5) = Range().
293 AT_CHECK([pspp -O format=csv nparX.sps], [1], [ignore])
299 AT_SETUP([NPAR TESTS CHISQUARE])
300 AT_DATA([npar.sps], [dnl
301 DATA LIST NOTABLE LIST /x * y * w *.
328 AT_CHECK([pspp -O format=csv npar.sps], [0], [dnl
330 ,Observed N,Expected N,Residual
340 ,Observed N,Expected N,Residual
347 Table: Test Statistics
354 ,Observed N,Expected N,Residual
361 Table: Test Statistics
369 ,Category,Observed N,Expected N,Residual,Category,Observed N,Expected N,Residual
370 1,2.00,3.00,3.16,-.16,2.00,4.00,2.21,1.79
371 2,3.00,5.00,5.26,-.26,3.00,1.00,3.68,-2.68
372 3,4.00,2.00,1.58,.42,4.00,2.00,1.11,.89
373 Total,,10.00,,,,7.00,,
375 Table: Test Statistics
383 AT_SETUP([NPAR TESTS CHISQUARE expected values missing])
384 AT_DATA([npar.sps], [dnl
385 DATA LIST NOTABLE LIST /x * y * w *.
400 /EXPECTED = 3 4 5 4 3 1
403 AT_CHECK([pspp -O format=csv npar.sps], [1], [dnl
404 "error: CHISQUARE test specified 6 expected values, but 4 distinct values were encountered in variable y."
406 Table: Test Statistics
414 AT_SETUP([NPAR TESTS CHISQUARE with DESCRIPTIVES])
415 AT_DATA([npar.sps], [dnl
416 DATA LIST NOTABLE LIST /x * y * w * .
430 MISSING VALUES x (4).
435 /STATISTICS=DESCRIPTIVES
438 AT_CHECK([pspp -O format=csv npar.sps], [0], [dnl
441 ,Category,Observed N,Expected N,Residual,Category,Observed N,Expected N,Residual
442 1,-2.00,.00,1.50,-1.50,-2.00,.00,1.88,-1.88
443 2,-1.00,.00,1.50,-1.50,-1.00,.00,1.88,-1.88
444 3,.00,.00,1.50,-1.50,.00,.00,1.88,-1.88
445 4,1.00,3.00,1.50,1.50,1.00,7.00,1.88,5.13
446 5,2.00,3.00,1.50,1.50,2.00,4.00,1.88,2.13
447 6,3.00,5.00,1.50,3.50,3.00,1.00,1.88,-.88
448 7,4.00,.00,1.50,-1.50,4.00,2.00,1.88,.13
449 8,5.00,1.00,1.50,-.50,5.00,1.00,1.88,-.88
450 Total,,12.00,,,,15.00,,
452 Table: Test Statistics
454 Chi-Square,17.33,22.87
458 Table: Descriptive Statistics
459 ,N,Mean,Std. Deviation,Minimum,Maximum
461 x,12.00,2.47,1.19,1.00,5.00
462 y,15.00,2.07,1.33,1.00,5.00
466 AT_SETUP([NPAR TESTS CHISQUARE, listwise missing])
467 AT_DATA([npar.sps], [dnl
468 DATA LIST NOTABLE LIST /x * y * w * .
482 * MISSING VALUES x (4).
487 /STATISTICS=DESCRIPTIVES
490 AT_CHECK([pspp -O format=csv npar.sps], [0], [dnl
493 ,Category,Observed N,Expected N,Residual,Category,Observed N,Expected N,Residual
494 1,-2.00,.00,1.75,-1.75,-2.00,.00,1.75,-1.75
495 2,-1.00,.00,1.75,-1.75,-1.00,.00,1.75,-1.75
496 3,.00,.00,1.75,-1.75,.00,.00,1.75,-1.75
497 4,1.00,3.00,1.75,1.25,1.00,7.00,1.75,5.25
498 5,2.00,3.00,1.75,1.25,2.00,4.00,1.75,2.25
499 6,3.00,5.00,1.75,3.25,3.00,1.00,1.75,-.75
500 7,4.00,2.00,1.75,.25,4.00,2.00,1.75,.25
501 8,5.00,1.00,1.75,-.75,5.00,.00,1.75,-1.75
502 Total,,14.00,,,,14.00,,
504 Table: Test Statistics
506 Chi-Square,13.43,26.00
510 Table: Descriptive Statistics
511 ,N,Mean,Std. Deviation,Minimum,Maximum
513 x,14.00,2.69,1.23,1.00,5.00
514 y,14.00,1.86,1.10,1.00,4.00
518 AT_SETUP([NPAR TESTS WILCOXON])
519 AT_DATA([npar.sps], [dnl
520 data list notable list /foo * bar * w (f8.0).
538 variable labels foo "first" bar "second".
543 /wilcoxon=foo with bar (paired)
547 AT_CHECK([pspp -o pspp.csv npar.sps])
548 AT_CHECK([cat pspp.csv], [0], [dnl
550 ,,N,Mean Rank,Sum of Ranks
551 first - second,Negative Ranks,8,6.00,48.00
552 ,Positive Ranks,5,8.60,43.00
556 Table: Test Statistics
559 Asymp. Sig. (2-tailed),.86
560 Exact Sig. (2-tailed),.89
561 Exact Sig. (1-tailed),.45
565 AT_SETUP([NPAR TESTS WILCOXON with missing values])
566 AT_DATA([npar.sps], [dnl
567 data list notable list /foo * bar * dummy *.
587 variable labels foo "first" bar "second".
590 /wilcoxon=foo with bar (paired)
595 AT_CHECK([pspp -o pspp.csv npar.sps])
596 dnl This is the same output as the previous test.
597 AT_CHECK([cat pspp.csv], [0], [dnl
599 ,,N,Mean Rank,Sum of Ranks
600 first - second,Negative Ranks,8,6.00,48.00
601 ,Positive Ranks,5,8.60,43.00
605 Table: Test Statistics
608 Asymp. Sig. (2-tailed),.86
609 Exact Sig. (2-tailed),.89
610 Exact Sig. (1-tailed),.45
614 AT_SETUP([NPAR TESTS SIGN])
615 AT_DATA([npar.sps], [dnl
618 data list notable list /age * height rank *.
629 /sign=age height WITH height rank (PAIRED)
634 AT_CHECK([pspp -o pspp.csv npar.sps])
635 dnl Some machines return .313 instead of .312
636 dnl (see bug #31611).
637 AT_CHECK([sed -e 's/\.313$/.312/' -e 's/^Exact Sig\. (1-tailed),\.313/Exact Sig. (1-tailed),.312/' pspp.csv], [0], [dnl
640 age - height,Negative Differences,3
641 ,Positive Differences,1
644 height - rank,Negative Differences,2
645 ,Positive Differences,3
649 Table: Test Statistics
650 ,age - height,height - rank
651 Exact Sig. (2-tailed),.625,1.000
652 Exact Sig. (1-tailed),.312,.500
653 Point Probability,.250,.312
658 AT_SETUP([NPAR Kruskal-Wallis test])
661 AT_DATA([kw-simple.sps], [dnl
664 data list notable list /gv * xscore *.
685 3 "handled the ball".
688 /kruskal-wallis xscore by gv (1, 3)
692 AT_CHECK([pspp -o pspp.csv kw-simple.sps])
693 AT_CHECK([cat pspp.csv], [0], [dnl
696 xscore,timed out,5,4.400
698 ,handled the ball,4,11.500
701 Table: Test Statistics
709 dnl Now try a missing value in the group variable
710 AT_DATA([kw-missing-group.sps], [dnl
713 data list notable list /gv * xscore *.
732 missing values gv (2.5).
737 3 "handled the ball".
740 /kruskal-wallis xscore by gv (1, 3)
745 AT_CHECK([pspp -o pspp2.csv kw-missing-group.sps])
747 dnl The result should be the same as before
748 AT_CHECK([diff pspp.csv pspp2.csv], [0])
753 AT_SETUP([NPAR Kruskal-Wallis multiple-variables])
755 AT_DATA([kw-multi.sps], [dnl
758 data list notable list /gv * xscore * yscore.
790 /k-w xscore yscore by gv (1, 5)
796 AT_CHECK([pspp -o pspp.csv kw-multi.sps])
797 AT_CHECK([cat pspp.csv], [0], [dnl
800 xscore,timed out,5,4.400
802 ,handled the ball,4,11.500
804 yscore,hit wicket,5,7.400
805 ,handled the ball,4,11.500
809 Table: Test Statistics
811 Chi-Square,,6.406,6.406,
813 Asymp. Sig.,,.041,.041,
820 AT_SETUP([NPAR TESTS Runs])
821 AT_DATA([npar-runs.sps], [dnl
823 data list notable list /score * w *.
866 /runs (MEDIAN) = score
872 AT_CHECK([pspp -o pspp.csv npar-runs.sps])
874 AT_CHECK([cat pspp.csv], [0], [dnl
877 Test Value (median),3.0000
878 Cases < Test Value,177.0000
879 Cases ≥ Test Value,309.0000
883 Asymp. Sig. (2-tailed),.0000
887 Test Value (mean),3.6379
888 Cases < Test Value,259.0000
889 Cases ≥ Test Value,227.0000
893 Asymp. Sig. (2-tailed),.0000
897 Test Value (mode),6.0000
898 Cases < Test Value,316.0000
899 Cases ≥ Test Value,170.0000
903 Asymp. Sig. (2-tailed),.0000
909 AT_SETUP([NPAR TESTS Friedman])
910 AT_DATA([npar-friedman.sps], [dnl
912 data list notable list /x * y * z.
930 AT_CHECK([pspp -o pspp.csv npar-friedman.sps])
932 AT_CHECK([cat pspp.csv], [0], [dnl
939 Table: Test Statistics
950 AT_SETUP([NPAR TESTS Mann-Whitney])
951 AT_DATA([npar-mann-whitney.sps], [dnl
954 data list notable list /height * sex (f1.0).
989 /M-W = height BY sex (0,1).
992 AT_CHECK([pspp -o pspp.csv npar-mann-whitney.sps])
994 AT_CHECK([cat pspp.csv], [0], [dnl
996 ,N,,,Mean Rank,,Sum of Ranks,
998 height,15.0000,15.0000,30.0000,14.5333,16.4667,218.0000,247.0000
1000 Table: Test Statistics
1001 ,Mann-Whitney U,Wilcoxon W,Z,Asymp. Sig. (2-tailed)
1002 height,98.0000,218.0000,-.6020,.5472
1009 AT_SETUP([NPAR TESTS Cochran])
1010 AT_DATA([npar-cochran.sps], [dnl
1013 data list notable list /v1 * v2 * v3 * v4 * v5 * v6 * v7 *.
1027 /cochran = v1 to v7 .
1031 AT_CHECK([pspp -o pspp.csv npar-cochran.sps])
1033 AT_CHECK([cat pspp.csv], [0], [dnl
1036 ,Success (2),Failure (1)
1045 Table: Test Statistics
1056 AT_SETUP([NPAR TESTS Kendall])
1057 AT_DATA([npar-kendall.sps], [dnl
1060 data list notable list /v1 * v2 * v3
1100 AT_CHECK([pspp -o pspp.csv npar-kendall.sps])
1102 AT_CHECK([cat pspp.csv], [0], [dnl
1109 Table: Test Statistics
1121 AT_SETUP([NPAR TESTS McNemar])
1123 AT_DATA([mcnemar.sps], [dnl
1125 data list notable list /v1 * v2 * junk *.
1150 /mcnemar = v1 WITH v2 junk.
1153 AT_CHECK([pspp -O format=csv mcnemar.sps], [0], [dnl
1166 Table: Test Statistics
1167 ,N,Exact Sig. (2-tailed),Exact Sig. (1-tailed),Point Probability
1168 v1 & v2,20,.065,.033,.027
1169 v1 & junk,20,.453,.227,.164
1175 AT_SETUP([NPAR TESTS Kolmogorov-Smirnov Uniform parameters given])
1177 AT_DATA([ks-uniform.sps], [dnl
1179 data list notable list /x *.
1193 npar tests k-s (uniform 0 1) = x.
1196 AT_CHECK([pspp -O format=csv ks-uniform.sps], [0], [dnl
1197 Table: One-Sample Kolmogorov-Smirnov Test
1200 Uniform Parameters,Minimum,.000
1202 Most Extreme Differences,Absolute,.289
1205 Kolmogorov-Smirnov Z,,.914
1206 Asymp. Sig. (2-tailed),,.374
1212 AT_SETUP([NPAR TESTS Kolmogorov-Smirnov Normal parameters imputed])
1214 AT_DATA([ks-normal.sps], [dnl
1217 data list notable list /foo * bar *.
1396 /k-s (normal) = foo bar.
1399 AT_CHECK([pspp -O format=csv ks-normal.sps], [0], [dnl
1400 Table: One-Sample Kolmogorov-Smirnov Test
1403 Normal Parameters,Mean,62.109,13.108
1404 ,Std. Deviation,11.548,.718
1405 Most Extreme Differences,Absolute,.059,.115
1407 ,Negative,-.059,-.082
1408 Kolmogorov-Smirnov Z,,.785,.795
1409 Asymp. Sig. (2-tailed),,.569,.552
1416 AT_SETUP([NPAR TESTS Median Test (median imputed)])
1418 AT_DATA([median1.sps], [dnl
1420 data list notable list /ignore * animal * years * w *.
1455 variable label years 'Years expected'.
1456 variable label animal 'Animal Genus'.
1458 add value labels animal 1 'Animal 1' 2 'Animal 2' 3 'Animal 3' 4 'Animal 4' 5 'Animal 5'.
1461 /median = years by animal (1, 5)
1466 AT_CHECK([pspp -O format=csv median1.sps], [0], [dnl
1469 ,,Animal 1,Animal 2,Animal 3,Animal 4,Animal 5
1470 Years expected,> Median,2,1,2,3,4
1473 Table: Test Statistics
1474 ,N,Median,Chi-Square,df,Asymp. Sig.
1475 Years expected,28,7.000,4.317,4,.365
1481 AT_SETUP([NPAR TESTS Median Test (median given)])
1483 AT_DATA([median2.sps], [dnl
1485 data list notable list /ignore * animal * years * w *.
1518 variable label years 'Years expected'.
1519 variable label animal 'Animal Genus'.
1521 add value labels animal 1 'Animal 1' 2 'Animal 2' 3 'Animal 3' 4 'Animal 4' 5 'Animal 5'.
1524 /median (7) = years by animal (1, 5)
1529 AT_CHECK([pspp -O format=csv median2.sps], [0], [dnl
1532 ,,Animal 1,Animal 2,Animal 3,Animal 4,Animal 5
1533 Years expected,> Median,2,1,2,3,4
1536 Table: Test Statistics
1537 ,N,Median,Chi-Square,df,Asymp. Sig.
1538 Years expected,28,7.000,4.317,4,.365
1544 AT_SETUP([NPAR TESTS Median Test (two sample)])
1546 AT_DATA([median3.sps], [dnl
1548 data list notable list /xx * animal * years * w *.
1581 variable label years 'Years expected'.
1582 variable label animal 'Animal Genus'.
1584 add value labels animal 1 'Animal 1' 2 'Animal 2' 3 'Animal 3' 4 'Animal 4' 5 'Animal 5'.
1587 /median (7) = xx years by animal (5, 1)
1592 AT_CHECK([pspp -O format=csv median3.sps], [0], [dnl
1598 Years expected,> Median,2,4
1601 Table: Test Statistics
1602 ,N,Median,Chi-Square,df,Asymp. Sig.
1603 xx,9,7.000,NaN,1,NaN
1604 Years expected,9,7.000,.900,1,.343
1610 AT_SETUP([NPAR TESTS Jonckheere-Terpstra])
1612 AT_DATA([jt.sps], [dnl
1614 data list notable list /x * g * w *.
1639 npar test /jonckheere-terpstra = x by g (5, 2).
1643 AT_CHECK([pspp -O format=csv jt.sps], [0], [dnl
1644 Table: Jonckheere-Terpstra Test
1645 ,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)
1646 x,4,24.000,29.500,65.000,15.902,-2.232,.026
1651 dnl Checks that (PAIRED) can have lists where the same
1652 dnl variable appears more than once.
1653 AT_SETUP([NPAR TESTS (PAIRED)])
1654 AT_DATA([npar.sps], [dnl
1656 data list notable list /a * b * c *.
1664 npar tests /wilcoxon a b with c c (paired).
1667 AT_CHECK([pspp -O format=csv npar.sps], [0], [dnl
1669 ,,N,Mean Rank,Sum of Ranks
1670 a - c,Negative Ranks,2,2.500,5.000
1671 ,Positive Ranks,2,2.500,5.000
1674 b - c,Negative Ranks,1,1.500,1.500
1675 ,Positive Ranks,2,2.250,4.500
1679 Table: Test Statistics
1682 Asymp. Sig. (2-tailed),1.000,.414