Fixed a bug in the Mann-Whitney test vs. missing=analysis.
[pspp] / tests / language / stats / npar.at
1 AT_BANNER([NPAR TESTS])
2
3 AT_SETUP([NPAR TESTS BINOMIAL P < 0.5; N1/N2 < 1])
4 AT_DATA([npar.sps], [dnl
5 SET FORMAT F8.3.
6
7 DATA LIST LIST NOTABLE /x * w *.
8 BEGIN DATA.
9 1   6
10 2   15
11 END DATA.
12
13 WEIGHT BY w.
14
15 NPAR TESTS
16         /BINOMIAL(0.3) = x
17         .
18 ])
19 AT_CHECK([pspp -O format=csv npar.sps], [0], [dnl
20 Table: Binomial Test
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,,
25 ])
26 AT_CLEANUP
27
28 AT_SETUP([NPAR TESTS BINOMIAL P < 0.5; N1/N2 > 1])
29 AT_DATA([npar.sps], [dnl
30 SET FORMAT F8.3.
31
32 DATA LIST LIST NOTABLE /x (F8.0) w (F8.0).
33 BEGIN DATA.
34 1   7
35 2   6
36 END DATA.
37
38 WEIGHT BY w.
39
40 NPAR TESTS
41         /BINOMIAL(0.4) = x
42         .
43 ])
44 AT_CHECK([pspp -O format=csv npar.sps], [0], [dnl
45 Table: Binomial Test
46 ,,Category,N,Observed Prop.,Test Prop.,Exact Sig. (1-tailed)
47 x,Group1,1,7,.538,.400,.229
48 ,Group2,2,6,.462,,
49 ,Total,,13,1.000,,
50 ])
51 AT_CLEANUP
52
53 AT_SETUP([NPAR TESTS BINOMIAL P < 0.5; N1/N2 = 1])
54 AT_DATA([npar.sps], [dnl
55 SET FORMAT F8.3.
56
57 DATA LIST LIST NOTABLE /x (F8.0) w (F8.0).
58 BEGIN DATA.
59 1   8
60 2   8
61 END DATA.
62
63 WEIGHT BY w.
64
65 NPAR TESTS
66         /BINOMIAL(0.4) = x
67         .
68 ])
69 AT_CHECK([pspp -O format=csv npar.sps], [0], [dnl
70 Table: Binomial Test
71 ,,Category,N,Observed Prop.,Test Prop.,Exact Sig. (1-tailed)
72 x,Group1,1,8,.500,.400,.284
73 ,Group2,2,8,.500,,
74 ,Total,,16,1.000,,
75 ])
76 AT_CLEANUP
77
78 AT_SETUP([NPAR TESTS BINOMIAL P > 0.5; N1/N2 < 1])
79 AT_DATA([npar.sps], [dnl
80 SET FORMAT F8.3.
81
82 DATA LIST LIST NOTABLE /x (F8.0) w (F8.0).
83 BEGIN DATA.
84 1   11
85 2   12
86 END DATA.
87
88 WEIGHT BY w.
89
90 NPAR TESTS
91         /BINOMIAL(0.6) = x
92         .
93 ])
94 AT_CHECK([pspp -O format=csv npar.sps], [0], [dnl
95 Table: Binomial Test
96 ,,Category,N,Observed Prop.,Test Prop.,Exact Sig. (1-tailed)
97 x,Group1,1,11,.478,.600,.164
98 ,Group2,2,12,.522,,
99 ,Total,,23,1.000,,
100 ])
101 AT_CLEANUP
102
103 AT_SETUP([NPAR TESTS BINOMIAL P > 0.5; N1/N2 > 1])
104 AT_DATA([npar.sps], [dnl
105 SET FORMAT F8.3.
106
107 DATA LIST LIST NOTABLE /x (F8.0) w (F8.0).
108 BEGIN DATA.
109 1   11
110 2   9
111 END DATA.
112
113 WEIGHT BY w.
114
115 NPAR TESTS
116         /BINOMIAL(0.6) = x.
117 ])
118 AT_CHECK([pspp -O format=csv npar.sps], [0], [dnl
119 Table: Binomial Test
120 ,,Category,N,Observed Prop.,Test Prop.,Exact Sig. (1-tailed)
121 x,Group1,1,11,.550,.600,.404
122 ,Group2,2,9,.450,,
123 ,Total,,20,1.000,,
124 ])
125 AT_CLEANUP
126
127 AT_SETUP([NPAR TESTS BINOMIAL P > 0.5; N1/N2 = 1])
128 AT_DATA([npar.sps], [dnl
129 SET FORMAT F8.3.
130
131 DATA LIST LIST NOTABLE /x (F8.0) w (F8.0).
132 BEGIN DATA.
133 1   11
134 2   11
135 END DATA.
136
137 WEIGHT BY w.
138
139 NPAR TESTS
140         /BINOMIAL(0.6) = x.
141 ])
142 AT_CHECK([pspp -O format=csv npar.sps], [0], [dnl
143 Table: Binomial Test
144 ,,Category,N,Observed Prop.,Test Prop.,Exact Sig. (1-tailed)
145 x,Group1,1,11,.500,.600,.228
146 ,Group2,2,11,.500,,
147 ,Total,,22,1.000,,
148 ])
149 AT_CLEANUP
150
151 AT_SETUP([NPAR TESTS BINOMIAL P = 0.5; N1/N2 < 1])
152 AT_DATA([npar.sps], [dnl
153 SET FORMAT F8.3.
154
155 DATA LIST LIST NOTABLE /x (F8.0) w (F8.0).
156 BEGIN DATA.
157 1   8
158 2   15
159 END DATA.
160
161 WEIGHT BY w.
162
163 NPAR TESTS
164         /BINOMIAL = x
165         .
166 ])
167 AT_CHECK([pspp -O format=csv npar.sps], [0], [dnl
168 Table: Binomial Test
169 ,,Category,N,Observed Prop.,Test Prop.,Exact Sig. (2-tailed)
170 x,Group1,1,8,.348,.500,.210
171 ,Group2,2,15,.652,,
172 ,Total,,23,1.000,,
173 ])
174 AT_CLEANUP
175
176 AT_SETUP([NPAR TESTS BINOMIAL P = 0.5; N1/N2 > 1])
177 AT_DATA([npar.sps], [dnl
178 SET FORMAT F8.3.
179
180 DATA LIST LIST NOTABLE /x (F8.0) w (F8.0).
181 BEGIN DATA.
182 1   12
183 2   6
184 END DATA.
185
186 WEIGHT BY w.
187
188 NPAR TESTS
189         /BINOMIAL(0.5) = x.
190 ])
191 AT_CHECK([pspp -O format=csv npar.sps], [0], [dnl
192 Table: Binomial Test
193 ,,Category,N,Observed Prop.,Test Prop.,Exact Sig. (2-tailed)
194 x,Group1,1,12,.667,.500,.238
195 ,Group2,2,6,.333,,
196 ,Total,,18,1.000,,
197 ])
198 AT_CLEANUP
199
200 AT_SETUP([NPAR TESTS BINOMIAL P = 0.5; N1/N2 = 1])
201 AT_DATA([npar.sps], [dnl
202 SET FORMAT F8.3.
203
204 DATA LIST LIST NOTABLE /x (F8.0) w (F8.0).
205 BEGIN DATA.
206 1   10
207 2   10
208 END DATA.
209
210 WEIGHT BY w.
211
212 NPAR TESTS
213         /BINOMIAL(0.5) = x
214         .
215 ])
216 AT_CHECK([pspp -O format=csv npar.sps], [0], [dnl
217 Table: Binomial Test
218 ,,Category,N,Observed Prop.,Test Prop.,Exact Sig. (2-tailed)
219 x,Group1,1,10,.500,.500,1.000
220 ,Group2,2,10,.500,,
221 ,Total,,20,1.000,,
222 ])
223 AT_CLEANUP
224
225 AT_SETUP([NPAR TESTS BINOMIAL P = 0.5; N1/N2 = 1 Cutpoint])
226 AT_DATA([npar.sps], [dnl
227 SET FORMAT F8.3.
228
229 DATA LIST LIST NOTABLE /x * w *.
230 BEGIN DATA.
231 9    3
232 10   7
233 11   16
234 END DATA.
235
236 WEIGHT BY w.
237
238 NPAR TESTS
239         /BINOMIAL(0.5) = x (10)
240         .
241 ])
242 AT_CHECK([pspp -O format=csv npar.sps], [0], [dnl
243 Table: Binomial Test
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,,
248 ])
249 AT_CLEANUP
250
251 AT_SETUP([NPAR TESTS BINOMIAL P = 0.5; N1/N2 = 1 Named values])
252 AT_DATA([npar.sps], [dnl
253 SET FORMAT F8.3.
254
255 DATA LIST LIST NOTABLE /x * w *.
256 BEGIN DATA.
257 10   10
258 15   45
259 20   13
260 END DATA.
261
262 WEIGHT BY w.
263
264 NPAR TESTS
265         /BINOMIAL(0.5) = x (10, 20)
266         .
267 ])
268 AT_CHECK([pspp -O format=csv npar.sps], [0], [dnl
269 Table: Binomial Test
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,,
274 ])
275 AT_CLEANUP
276
277
278
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 *.
283 begin data.
284 0
285 1
286 end data.
287
288 * This is invalid syntax
289 NPAR TEST
290         /BINOMIAL(0.5) = Range().
291
292 ])
293 AT_CHECK([pspp -O format=csv nparX.sps], [1], [ignore])
294
295 AT_CLEANUP
296
297
298
299 AT_SETUP([NPAR TESTS CHISQUARE])
300 AT_DATA([npar.sps], [dnl
301 DATA LIST NOTABLE LIST /x * y * w *.
302 BEGIN DATA.
303 1   2  1
304 2   1  3
305 3.1 1  4
306 3.2 2  1
307 4   2  2
308 5   3  1
309 1   4  2
310 END DATA.
311
312 WEIGHT BY w.
313
314 NPAR TESTS
315   CHISQUARE=x y
316   .
317
318 NPAR TESTS
319   CHISQUARE=y
320   /EXPECTED=3 4 5 4
321   .
322
323 NPAR TESTS
324   CHISQUARE=x y(2, 4)
325   /EXPECTED = 6 10 3
326   .
327 ])
328
329 AT_CHECK([pspp -O format=csv npar.sps], [0], [dnl
330 Table: x
331 ,Observed N,Expected N,Residual
332 1.00,3.00,2.33,.67
333 2.00,3.00,2.33,.67
334 3.10,4.00,2.33,1.67
335 3.20,1.00,2.33,-1.33
336 4.00,2.00,2.33,-.33
337 5.00,1.00,2.33,-1.33
338 Total,14.00,,
339
340 Table: y
341 ,Observed N,Expected N,Residual
342 1.00,7.00,3.50,3.50
343 2.00,4.00,3.50,.50
344 3.00,1.00,3.50,-2.50
345 4.00,2.00,3.50,-1.50
346 Total,14.00,,
347
348 Table: Test Statistics
349 ,x,y
350 Chi-Square,3.14,6.00
351 df,5,3
352 Asymp. Sig.,.678,.112
353
354 Table: y
355 ,Observed N,Expected N,Residual
356 1.00,7.00,2.63,4.38
357 2.00,4.00,3.50,.50
358 3.00,1.00,4.38,-3.38
359 4.00,2.00,3.50,-1.50
360 Total,14.00,,
361
362 Table: Test Statistics
363 ,y
364 Chi-Square,10.61
365 df,3
366 Asymp. Sig.,.014
367
368 Table: Frequencies
369 ,x,,,,y,,,
370 ,Category,Observed N,Expected N,Residual,Category,Observed N,Expected N,Residual
371 1,2.00,3.00,3.16,-.16,2.00,4.00,2.21,1.79
372 2,3.00,5.00,5.26,-.26,3.00,1.00,3.68,-2.68
373 3,4.00,2.00,1.58,.42,4.00,2.00,1.11,.89
374 Total,,10.00,,,,7.00,,
375
376 Table: Test Statistics
377 ,x,y
378 Chi-Square,.13,4.13
379 df,2,2
380 Asymp. Sig.,.936,.127
381 ])
382
383 AT_CLEANUP
384
385 AT_SETUP([NPAR TESTS CHISQUARE expected values missing])
386 AT_DATA([npar.sps], [dnl
387 DATA LIST NOTABLE LIST /x * y * w *.
388 BEGIN DATA.
389 1   2  1
390 2   1  3
391 3.1 1  4
392 3.2 2  1
393 4   2  2
394 5   3  1
395 1   4  2
396 END DATA.
397
398 WEIGHT BY w.
399
400 NPAR TESTS
401   CHISQUARE=y
402   /EXPECTED = 3 4 5 4 3 1
403   .
404 ])
405
406 AT_CHECK([pspp -O format=csv npar.sps], [1], [dnl
407 "error: CHISQUARE test specified 6 expected values, but 4 distinct values were encountered in variable y."
408
409 Table: Test Statistics
410 ,y
411 Chi-Square,.00
412 df,0
413 Asymp. Sig.,1.000
414 ])
415
416 AT_CLEANUP
417
418 AT_SETUP([NPAR TESTS CHISQUARE with DESCRIPTIVES])
419 AT_DATA([npar.sps], [dnl
420 DATA LIST NOTABLE LIST /x * y * w * .
421 BEGIN DATA.
422 1   2  1 
423 2   1  3
424 3.1 1  4
425 3.2 2  1
426 4   2  2
427 5   3  1
428 1   4  2
429 .   5  1
430 END DATA.
431
432 WEIGHT BY w.
433
434 MISSING VALUES x (4).
435
436 NPAR TESTS
437   CHISQUARE=x y(-2,5)
438   /MISSING=ANALYSIS
439   /STATISTICS=DESCRIPTIVES
440   .
441 ])
442
443 AT_CHECK([pspp -O format=csv npar.sps], [0], [dnl
444 Table: Frequencies
445 ,x,,,,y,,,
446 ,Category,Observed N,Expected N,Residual,Category,Observed N,Expected N,Residual
447 1,-2.00,.00,1.50,-1.50,-2.00,.00,1.88,-1.88
448 2,-1.00,.00,1.50,-1.50,-1.00,.00,1.88,-1.88
449 3,.00,.00,1.50,-1.50,.00,.00,1.88,-1.88
450 4,1.00,3.00,1.50,1.50,1.00,7.00,1.88,5.13
451 5,2.00,3.00,1.50,1.50,2.00,4.00,1.88,2.13
452 6,3.00,5.00,1.50,3.50,3.00,1.00,1.88,-.88
453 7,4.00,.00,1.50,-1.50,4.00,2.00,1.88,.13
454 8,5.00,1.00,1.50,-.50,5.00,1.00,1.88,-.88
455 Total,,12.00,,,,15.00,,
456
457 Table: Test Statistics
458 ,x,y
459 Chi-Square,17.33,22.87
460 df,7,7
461 Asymp. Sig.,.015,.002
462
463 Table: Descriptive Statistics
464 ,N,Mean,Std. Deviation,Minimum,Maximum
465 ,,,,,
466 x,12.00,2.47,1.19,1.00,5.00
467 y,15.00,2.07,1.33,1.00,5.00
468 ])
469 AT_CLEANUP
470
471 AT_SETUP([NPAR TESTS CHISQUARE, listwise missing])
472 AT_DATA([npar.sps], [dnl
473 DATA LIST NOTABLE LIST /x * y * w * .
474 BEGIN DATA.
475 1   2  1 
476 2   1  3
477 3.1 1  4
478 3.2 2  1
479 4   2  2
480 5   3  1
481 1   4  2
482 .   5  1
483 END DATA.
484
485 WEIGHT BY w.
486
487 * MISSING VALUES x (4).
488
489 NPAR TESTS
490   CHISQUARE=x y(-2,5)
491   /MISSING=LISTWISE
492   /STATISTICS=DESCRIPTIVES
493   .
494 ])
495
496 AT_CHECK([pspp -O format=csv npar.sps], [0], [dnl
497 Table: Frequencies
498 ,x,,,,y,,,
499 ,Category,Observed N,Expected N,Residual,Category,Observed N,Expected N,Residual
500 1,-2.00,.00,1.75,-1.75,-2.00,.00,1.75,-1.75
501 2,-1.00,.00,1.75,-1.75,-1.00,.00,1.75,-1.75
502 3,.00,.00,1.75,-1.75,.00,.00,1.75,-1.75
503 4,1.00,3.00,1.75,1.25,1.00,7.00,1.75,5.25
504 5,2.00,3.00,1.75,1.25,2.00,4.00,1.75,2.25
505 6,3.00,5.00,1.75,3.25,3.00,1.00,1.75,-.75
506 7,4.00,2.00,1.75,.25,4.00,2.00,1.75,.25
507 8,5.00,1.00,1.75,-.75,5.00,.00,1.75,-1.75
508 Total,,14.00,,,,14.00,,
509
510 Table: Test Statistics
511 ,x,y
512 Chi-Square,13.43,26.00
513 df,7,7
514 Asymp. Sig.,.062,.001
515
516 Table: Descriptive Statistics
517 ,N,Mean,Std. Deviation,Minimum,Maximum
518 ,,,,,
519 x,14.00,2.69,1.23,1.00,5.00
520 y,14.00,1.86,1.10,1.00,4.00
521 ])
522 AT_CLEANUP
523
524 AT_SETUP([NPAR TESTS WILCOXON])
525 AT_DATA([npar.sps], [dnl
526 data list notable list /foo * bar * w (f8.0).
527 begin data.
528 1.00     1.00   1
529 1.00     2.00   1
530 2.00     1.00   1
531 1.00     4.00   1
532 2.00     5.00   1
533 1.00    19.00   1
534 2.00     7.00   1
535 4.00     5.00   1
536 1.00    12.00   1
537 2.00    13.00   1
538 2.00     2.00   1
539 12.00      .00  2
540 12.00     1.00  1
541 13.00     1.00  1
542 end data
543
544 variable labels foo "first" bar "second".
545
546 weight by w.
547
548 npar test
549  /wilcoxon=foo with bar (paired)
550  /missing analysis
551  /method=exact.
552 ])
553
554 AT_CHECK([pspp -O format=csv npar.sps], [0], [dnl
555 Table: Ranks
556 ,,N,Mean Rank,Sum of Ranks
557 first - second,Negative Ranks,8,6.00,48.00
558 ,Positive Ranks,5,8.60,43.00
559 ,Ties,2,,
560 ,Total,15,,
561
562 Table: Test Statistics
563 ,first - second
564 Z,-.18
565 Asymp. Sig. (2-tailed),.861
566 Exact Sig. (2-tailed),.893
567 Exact Sig. (1-tailed),.446
568 ])
569
570 AT_CLEANUP
571
572 AT_SETUP([NPAR TESTS WILCOXON with missing values])
573 AT_DATA([npar.sps], [dnl
574 data list notable list /foo * bar * dummy *.
575 begin data.
576 1.00     1.00    1
577 1.00     2.00    1
578 2.00     1.00    1
579 1.00     4.00    .
580 2.00     5.00    .
581 1.00    19.00    .
582 2.00     7.00    1
583 4.00     5.00    1
584 1.00    12.00    1
585 2.00    13.00    1
586 2.00     2.00    1
587 12.00      .00   1
588 12.00      .00   1
589 34.2       .     1
590 12.00     1.00   1  
591 13.00     1.00   1
592 end data
593
594 variable labels foo "first" bar "second".
595
596 npar test
597  /wilcoxon=foo with bar (paired)
598  /missing analysis
599  /method=exact.
600 ])
601
602 dnl This is the same output as the previous test.
603 AT_CHECK([pspp -O format=csv npar.sps], [0], [dnl
604 Table: Ranks
605 ,,N,Mean Rank,Sum of Ranks
606 first - second,Negative Ranks,8,6.00,48.00
607 ,Positive Ranks,5,8.60,43.00
608 ,Ties,2,,
609 ,Total,15,,
610
611 Table: Test Statistics
612 ,first - second
613 Z,-.18
614 Asymp. Sig. (2-tailed),.861
615 Exact Sig. (2-tailed),.893
616 Exact Sig. (1-tailed),.446
617 ])
618 AT_CLEANUP
619
620 AT_SETUP([NPAR TESTS SIGN])
621 AT_DATA([npar.sps], [dnl
622 set format = F9.3.
623
624 data list notable list /age * height rank *.
625 begin data.
626 10 12 11
627 12 13 13 
628 13 14 12
629 12 12 10
630 9   9 10
631 10.3 10.2 12
632 end data.
633
634 npar tests
635         /sign=age height WITH height rank (PAIRED)
636         /MISSING ANALYSIS
637         /METHOD=EXACT
638         .
639 ])
640 AT_CHECK([pspp -o pspp.csv npar.sps])
641 dnl Some machines return .313 instead of .312 
642 dnl (see bug #31611).
643 AT_CHECK([sed -e 's/\.313$/.312/' -e 's/^Exact Sig\. (1-tailed),\.313/Exact Sig. (1-tailed),.312/' pspp.csv], [0], [dnl
644 Table: Frequencies
645 ,,N
646 age - height,Negative Differences,3
647 ,Positive Differences,1
648 ,Ties,2
649 ,Total,6
650 height - rank,Negative Differences,2
651 ,Positive Differences,3
652 ,Ties,1
653 ,Total,6
654
655 Table: Test Statistics
656 ,age - height,height - rank
657 Exact Sig. (2-tailed),.625,1.000
658 Exact Sig. (1-tailed),.312,.500
659 Point Probability,.250,.312
660 ])
661 AT_CLEANUP
662
663
664 AT_SETUP([NPAR Kruskal-Wallis test])
665
666 dnl Simple case
667 AT_DATA([kw-simple.sps], [dnl
668 set format = F9.3.
669
670 data list notable list /gv * xscore *.
671 begin data
672 1 96
673 1 128
674 1 83
675 2 132
676 2 135
677 2 109
678 3 115
679 1 61
680 1 101
681 2 82
682 2 124
683 3 149 
684 3 166
685 3 147
686 end data.
687
688 value label /gv
689        1 "timed out"
690        2 "hit wicket"
691        3 "handled the ball".
692
693 npar tests
694         /kruskal-wallis xscore by gv (1, 3)
695         .
696 ])
697
698 AT_CHECK([pspp -o pspp.csv kw-simple.sps])
699 AT_CHECK([cat pspp.csv], [0], [dnl
700 Table: Ranks
701 ,gv,N,Mean Rank
702 xscore,timed out,5,4.400
703 ,hit wicket,5,7.400
704 ,handled the ball,4,11.500
705 ,Total,14,
706
707 Table: Test Statistics
708 ,,xscore
709 Chi-Square,,6.406
710 df,,2
711 Asymp. Sig.,,.041
712 ])
713
714
715 dnl Now try a missing value in the group variable
716 AT_DATA([kw-missing-group.sps], [dnl
717 set format = F9.3.
718
719 data list notable list /gv * xscore *.
720 begin data
721 1 96
722 1 128
723 1 83
724 1 61
725 1 101
726 2 82
727 2 124
728 2 132
729 2 135
730 2 109
731 3 115
732 3 149 
733 3 166
734 3 147
735 2.5 344
736 end data.
737
738 missing values gv (2.5).
739
740 value label /gv
741        1 "timed out"
742        2 "hit wicket"
743        3 "handled the ball".
744
745 npar tests
746         /kruskal-wallis xscore by gv (1, 3)
747         /missing=exclude
748         .
749 ])
750
751 AT_CHECK([pspp -o pspp2.csv kw-missing-group.sps])
752
753 dnl The result should be the same as before
754 AT_CHECK([diff pspp.csv pspp2.csv], [0])
755
756 AT_CLEANUP
757
758
759 AT_SETUP([NPAR Kruskal-Wallis multiple-variables])
760
761 AT_DATA([kw-multi.sps], [dnl
762 set format = F9.3.
763
764 data list notable list /gv * xscore * yscore.
765 begin data
766 1 96   .
767 1 128  .
768 1 83   . 
769 2 132  132
770 2 135  135
771 2 109  109
772 3 115  115
773 1 61   . 
774 1 101  .
775 2 82   82 
776 2 124  124
777 3 149  149
778 3 166  166
779 3 147  147
780 4 .    96
781 4 .    128
782 4 .    83
783 4 .    61
784 4 .    101
785 end data.
786
787 value label /gv
788        1 "timed out"
789        2 "hit wicket"
790        3 "handled the ball"
791        4 "bowled"
792        5 "lbw"
793        .
794        
795 npar tests
796         /k-w xscore yscore by gv (1, 5)
797         .
798
799 ])
800
801
802 AT_CHECK([pspp -o pspp.csv kw-multi.sps])
803 AT_CHECK([cat pspp.csv], [0], [dnl
804 Table: Ranks
805 ,gv,N,Mean Rank
806 xscore,timed out,5,4.400
807 ,hit wicket,5,7.400
808 ,handled the ball,4,11.500
809 ,Total,14,
810 yscore,hit wicket,5,7.400
811 ,handled the ball,4,11.500
812 ,bowled,5,4.400
813 ,Total,14,
814
815 Table: Test Statistics
816 ,,xscore,yscore,
817 Chi-Square,,6.406,6.406,
818 df,,2,2,
819 Asymp. Sig.,,.041,.041,
820 ])
821
822 AT_CLEANUP
823
824
825
826 AT_SETUP([NPAR TESTS Runs])
827 AT_DATA([npar-runs.sps], [dnl
828 set format F11.4.
829 data list notable list /score * w *.
830 begin data
831 4     6
832 .     4
833 4     3 
834 3    20 
835 2    29 
836 1    42 
837 6    18 
838 5     7 
839 6    78 
840 5    10 
841 6    46 
842 5     5 
843 6    17 
844 5     1 
845 6    11 
846 4     2 
847 3     7 
848 2     6 
849 1    10 
850 4    13 
851 3    22 
852 3    11 
853 2    24 
854 1    18 
855 4     4 
856 3    12 
857 2    10 
858 1    25 
859 4     4 
860 3     7 
861 2     3 
862 1     4 
863 4     2 
864 3     3 
865 2     2 
866 1     4 
867 end data.
868
869 weight by w.
870
871 npar tests
872         /runs (MEDIAN) = score
873         /runs (MEAN) = score
874         /runs (MODE) = score 
875         .
876 ])
877
878 AT_CHECK([pspp -O format=csv npar-runs.sps], [0],
879 [Table: Runs Test
880 ,score
881 Test Value (median),3.0000
882 Cases < Test Value,177.0000
883 Cases ≥ Test Value,309.0000
884 Total Cases,486.0000
885 Number of Runs,12
886 Z,-20.9931
887 Asymp. Sig. (2-tailed),2.000
888
889 Table: Runs Test
890 ,score
891 Test Value (mean),3.6379
892 Cases < Test Value,259.0000
893 Cases ≥ Test Value,227.0000
894 Total Cases,486.0000
895 Number of Runs,12
896 Z,-21.0650
897 Asymp. Sig. (2-tailed),2.000
898
899 Table: Runs Test
900 ,score
901 Test Value (mode),6.0000
902 Cases < Test Value,316.0000
903 Cases ≥ Test Value,170.0000
904 Total Cases,486.0000
905 Number of Runs,11
906 Z,-21.0742
907 Asymp. Sig. (2-tailed),2.000
908 ])
909
910 AT_CLEANUP
911
912
913 dnl Thanks to Douglas Bonett for providing this test case.
914 AT_SETUP([NPAR TESTS Runs (2)])
915 AT_DATA([npar-runs.sps], [dnl
916 data list notable free /y.
917 begin data
918 1 1 2 1 2 1 1 2 1 1 1 2 1 2
919 end data.
920 NPAR TEST /RUNS(1.5) = y.
921 ])
922
923 AT_CHECK([pspp -O format=csv npar-runs.sps], [0], [dnl
924 Table: Runs Test
925 ,y
926 Test Value,1.50
927 Cases < Test Value,9
928 Cases ≥ Test Value,5
929 Total Cases,14
930 Number of Runs,10
931 Z,1.26
932 Asymp. Sig. (2-tailed),.206
933 ])
934 AT_CLEANUP
935
936
937 AT_SETUP([NPAR TESTS Friedman])
938 AT_DATA([npar-friedman.sps], [dnl
939 set format F15.4.
940 data list notable list /x * y * z.
941 begin data
942 9.5 6.5 8.1
943 8.0 6.0 6.0
944 7.0 6.5 4.2
945 9.5 5.0 7.3
946 9.0 7.0 6.2
947 8.5 6.9 6.5
948 7.5 8.0 6.5
949 6.0 8.0 3.1
950 5.0 6.0 4.9
951 7.5 7.5 6.2
952 end data.
953
954 npar tests
955      /friedman = x y z.
956 ])
957
958 AT_CHECK([pspp -O format=csv npar-friedman.sps], [0], [dnl
959 Table: Ranks
960 ,Mean Rank
961 x,2.6500
962 y,2.1000
963 z,1.2500
964
965 Table: Test Statistics
966 N,10
967 Chi-Square,10.4737
968 df,2
969 Asymp. Sig.,.005
970 ])
971
972 AT_CLEANUP
973
974
975
976 AT_SETUP([NPAR TESTS Mann-Whitney])
977 AT_DATA([npar-mann-whitney.sps], [dnl
978 SET FORMAT     = F11.4
979
980 data list notable list /height * sex (f1.0).
981 begin data.
982 201 1            
983 84 1            
984 83 1            
985 94 1            
986 88 0            
987 99 0            
988 55 0            
989 69 0            
990 86 1            
991 79 1            
992 91 0            
993 201 0            
994 88 1            
995 85 1            
996 82 1            
997 88 0            
998 75 0            
999 99 0            
1000 81 0            
1001 72 1            
1002 89 1            
1003 92 1            
1004 80 0            
1005 82 0            
1006 76 0            
1007 65 0            
1008 85 0            
1009 76 1            
1010 145 1            
1011 24 1
1012 1 4
1013 -4 5
1014 34 5
1015 21 4
1016 end data.
1017
1018 NPAR TESTS 
1019      /M-W = height BY sex (0,1).
1020 ])
1021
1022 AT_CHECK([pspp -O format=csv npar-mann-whitney.sps], [0], [dnl
1023 Table: Ranks
1024 ,N,,,Mean Rank,,Sum of Ranks,
1025 ,0,1,Total,0,1,0,1
1026 height,15.0000,15.0000,30.0000,14.5333,16.4667,218.0000,247.0000
1027
1028 Table: Test Statistics
1029 ,Mann-Whitney U,Wilcoxon W,Z,Asymp. Sig. (2-tailed)
1030 height,98.0000,218.0000,-.6020,.547
1031 ])
1032
1033
1034 AT_CLEANUP
1035
1036
1037 AT_SETUP([NPAR TESTS Mann-Whitney Multiple])
1038 dnl Check for a bug where the ranks were inappropriately allocated, when
1039 dnl multiple variables were tested and MISSING=ANALYSIS chosen.
1040
1041 cp $abs_srcdir/language/mann-whitney.txt .
1042
1043 AT_DATA([npar-mann-whitney.sps], [dnl
1044 SET FORMAT     = F11.3
1045
1046 DATA LIST NOTABLE FILE='mann-whitney.txt'
1047      LIST /I002_01 I002_02 I002_03 I002_04 sum_HL *.
1048
1049 VARIABLE LABELS
1050   I002_01 'IOS: Familie'
1051   I002_02 'IOS: Freunde'
1052   I002_03 'IOS: Partner*in'
1053   I002_04 'IOS: Bekannte'.
1054   
1055 MISSING VALUES I002_01 I002_02 I002_03 I002_04 (-9 -1).
1056
1057 NPAR TESTS
1058     /MISSING=ANALYSIS
1059     /M-W=I002_01 I002_02 I002_03 I002_04 BY sum_HL (0 1).
1060 ])
1061
1062 AT_CHECK([pspp -O format=csv npar-mann-whitney.sps], [0], [dnl
1063 Table: Ranks
1064 ,N,,,Mean Rank,,Sum of Ranks,
1065 ,.000,1.000,Total,.000,1.000,.000,1.000
1066 IOS: Familie,114.000,115.000,229.000,110.018,119.939,12542.000,13793.000
1067 IOS: Freunde,115.000,115.000,230.000,108.339,122.661,12459.000,14106.000
1068 IOS: Partner*in,97.000,91.000,188.000,95.351,93.593,9249.000,8517.000
1069 IOS: Bekannte,115.000,115.000,230.000,111.065,119.935,12772.500,13792.500
1070
1071 Table: Test Statistics
1072 ,Mann-Whitney U,Wilcoxon W,Z,Asymp. Sig. (2-tailed)
1073 IOS: Familie,5987.000,12542.000,-1.167,.243
1074 IOS: Freunde,5789.000,12459.000,-1.674,.094
1075 IOS: Partner*in,4331.000,8517.000,-.245,.807
1076 IOS: Bekannte,6102.500,12772.500,-1.046,.296
1077 ])
1078
1079 AT_CLEANUP
1080
1081
1082
1083 AT_SETUP([NPAR TESTS Cochran])
1084 AT_DATA([npar-cochran.sps], [dnl
1085 set format f11.3.
1086
1087 data list notable list /v1 * v2 * v3 * v4 * v5 * v6 * v7 *.
1088 begin data.
1089 2 1 1 2 1 1 2 
1090 2 2 2 2 1 1 1  
1091 1 1 2 2 1 1 2  
1092 2 2 2 2 1 1 2 
1093 2 1 2 1 1 2 1 
1094 1 2 2 1 1 1 1 
1095 1 2 2 2 2 2 2 
1096 2 2 1 2 1 1 1 
1097 1 2 1 2 1 1 2 
1098 end data.     
1099
1100 npar tests 
1101         /cochran = v1 to v7 .
1102
1103 ])
1104
1105 AT_CHECK([pspp -o pspp.csv npar-cochran.sps])
1106
1107 AT_CHECK([cat pspp.csv], [0], [dnl
1108 Table: Frequencies
1109 ,Value,
1110 ,Success (2),Failure (1)
1111 v1,5,4
1112 v2,6,3
1113 v3,6,3
1114 v4,7,2
1115 v5,1,8
1116 v6,2,7
1117 v7,5,4
1118
1119 Table: Test Statistics
1120 N,9
1121 Cochran's Q,12.735
1122 df,6
1123 Asymp. Sig.,.047
1124 ])
1125
1126 AT_CLEANUP
1127
1128
1129
1130 AT_SETUP([NPAR TESTS Kendall])
1131 AT_DATA([npar-kendall.sps], [dnl
1132 SET FORMAT F14.3.
1133
1134 data list notable list /v1 * v2 * v3
1135 begin data.
1136  7  7  2 
1137  5  6  5 
1138  8  6  4 
1139  5  7  4 
1140  5  4  4 
1141  8  6  5 
1142  6  3  5 
1143  7  6  5 
1144  8  5  5
1145  .  2  2 
1146  5  4  5 
1147  3  4  4 
1148  5  1  2 
1149  5  2  1 
1150  7  6  5 
1151  6  3  4 
1152  6  6  6 
1153  5  4  5 
1154  4  3  4 
1155  9  1  1 
1156  6  2  1 
1157  3  7  8 
1158  6  3  4 
1159  4  4  4 
1160  5  4  3 
1161  6  5  2 
1162  4  4  8 
1163  4  6  4 
1164  6  5  5 
1165  7  8  6 
1166  5  3  5 
1167 end data.
1168
1169 npar tests
1170         /kendall = all
1171         .
1172 ])
1173
1174 AT_CHECK([pspp -o pspp.csv npar-kendall.sps])
1175
1176 AT_CHECK([cat pspp.csv], [0], [dnl
1177 Table: Ranks
1178 ,Mean Rank
1179 v1,2.500
1180 v2,1.817
1181 v3,1.683
1182
1183 Table: Test Statistics
1184 N,30
1185 Kendall's W,.233
1186 Chi-Square,13.960
1187 df,2
1188 Asymp. Sig.,.001
1189 ])
1190
1191 AT_CLEANUP
1192
1193
1194
1195 AT_SETUP([NPAR TESTS McNemar])
1196
1197 AT_DATA([mcnemar.sps], [dnl
1198 set format = F12.3.
1199 data list notable list /v1 * v2 * junk *.
1200 begin data.
1201 0 0 0
1202 0 0 0
1203 0 0 0
1204 0 0 0
1205 0 1 0
1206 0 1 0
1207 0 1 0
1208 0 1 0
1209 0 1 1
1210 0 1 1
1211 0 1 1
1212 0 1 1
1213 0 1 1
1214 1 0 1
1215 1 0 1
1216 1 1 1
1217 1 1 1
1218 1 1 0
1219 1 1 0
1220 1 1 1
1221 end data.
1222
1223 npar tests 
1224      /mcnemar = v1 WITH v2 junk.
1225 ])
1226
1227 AT_CHECK([pspp -O format=csv mcnemar.sps], [0], [dnl
1228 Table: v1 & v2
1229 v1,v2,
1230 ,.000,1.000
1231 .000,4,9
1232 1.000,2,5
1233
1234 Table: v1 & junk
1235 v1,junk,
1236 ,.000,1.000
1237 .000,8,5
1238 1.000,2,5
1239
1240 Table: Test Statistics
1241 ,N,Exact Sig. (2-tailed),Exact Sig. (1-tailed),Point Probability
1242 v1 & v2,20,.065,.033,.027
1243 v1 & junk,20,.453,.227,.164
1244 ])
1245
1246 AT_CLEANUP
1247
1248
1249 AT_SETUP([NPAR TESTS Kolmogorov-Smirnov Uniform parameters given])
1250
1251 AT_DATA([ks-uniform.sps], [dnl
1252 set format F12.3.
1253 data list notable list /x *.
1254 begin data
1255 .554
1256 .382
1257 .329
1258 .480
1259 .711
1260 .503
1261 .203
1262 .477
1263 .621
1264 .581
1265 end data.
1266
1267 npar tests k-s (uniform 0 1) = x.
1268 ])
1269
1270 AT_CHECK([pspp -O format=csv ks-uniform.sps], [0], [dnl
1271 Table: One-Sample Kolmogorov-Smirnov Test
1272 ,,x
1273 N,,10
1274 Uniform Parameters,Minimum,.000
1275 ,Maximum,1.000
1276 Most Extreme Differences,Absolute,.289
1277 ,Positive,.289
1278 ,Negative,-.229
1279 Kolmogorov-Smirnov Z,,.914
1280 Asymp. Sig. (2-tailed),,.374
1281 ])
1282
1283 AT_CLEANUP
1284
1285
1286 AT_SETUP([NPAR TESTS Kolmogorov-Smirnov Normal parameters imputed])
1287
1288 AT_DATA([ks-normal.sps], [dnl
1289 set format = F12.3.
1290
1291 data list notable list /foo * bar *.
1292 begin data.
1293 65 12.5
1294 59 14.2
1295 43 12.6
1296 57 
1297 68 
1298 79 
1299 51 
1300 62 
1301 57  
1302 73 
1303 58 
1304 58 
1305 68 
1306 75 
1307 47 
1308 70 
1309 59 
1310 71 
1311 52 
1312 48 13.0
1313 58 14.1
1314 37 15.0
1315 39 13.1
1316 58 13.2
1317 43 14.5
1318 58 13.5
1319 86 14.0
1320 63 12.5
1321 80 12.8
1322 70 
1323 63 
1324 53 
1325 53 
1326 48 
1327 49 
1328 51 
1329 47 
1330 81 
1331 66 
1332 78 
1333 65
1334 69 
1335 70 12.1
1336 63 12.5
1337 64 12.4
1338 39 13.8
1339 51 13.2
1340 68 14.0
1341 76 12.6
1342 53 12.1
1343 71 13.5
1344 47 13.8
1345 87 14.1
1346 72 12.9
1347 48 12.1
1348 75 12.8
1349 51 13.4
1350 63 13.9
1351 61 12.5
1352 61 12.4
1353 66 12.8
1354 82 12.9
1355 81 13.6
1356 46 
1357 52 
1358 71 
1359 73 
1360 58 
1361 57 
1362 46 
1363 58 
1364 52 13.5
1365 71 13.2
1366 57 12.8
1367 78 14.1
1368 73 12.1
1369 50 12.6
1370 71
1371 51
1372 51
1373 68
1374 84
1375 64
1376 66
1377 65
1378 52
1379 56
1380 70
1381 68
1382 66
1383 78
1384 65
1385 71
1386 53
1387 81
1388 53
1389 57
1390 64
1391 61
1392 43
1393 56
1394 37
1395 74
1396 66
1397 81
1398 67
1399 80
1400 68
1401 76
1402 70
1403 80
1404 42
1405 74
1406 80
1407 70
1408 60
1409 39
1410 72
1411 69
1412 63
1413 72
1414 63
1415 49
1416 53 13.2
1417 43 13.8
1418 51 12.5
1419 63 12.6
1420 64 12.9
1421 65 13.0
1422 64 12.5
1423 66 12.0
1424 55 
1425 62 
1426 58 
1427 48 
1428 67 
1429 46 
1430 36 
1431 61 
1432 55 
1433 77 
1434 74 
1435 60 
1436 70  
1437 69 
1438 57 
1439 49 
1440 63 
1441 69 
1442 63 
1443 76 
1444 53 
1445 54 
1446 42 
1447 64 
1448 66 
1449 61 
1450 62 
1451 73 
1452 73 
1453 60 
1454 79 
1455 40 
1456 48 
1457 76 
1458 60 
1459 76 
1460 54
1461 69
1462 65
1463 69
1464 51
1465 54
1466 82
1467 end data.
1468
1469 npar tests 
1470         /k-s (normal) = foo bar.
1471 ])
1472
1473 AT_CHECK([pspp -O format=csv ks-normal.sps], [0], [dnl
1474 Table: One-Sample Kolmogorov-Smirnov Test
1475 ,,foo,bar
1476 N,,174,48
1477 Normal Parameters,Mean,62.109,13.108
1478 ,Std. Deviation,11.548,.718
1479 Most Extreme Differences,Absolute,.059,.115
1480 ,Positive,.055,.115
1481 ,Negative,-.059,-.082
1482 Kolmogorov-Smirnov Z,,.785,.795
1483 Asymp. Sig. (2-tailed),,.569,.552
1484 ])
1485
1486
1487 AT_CLEANUP
1488
1489
1490 AT_SETUP([NPAR TESTS Median Test (median imputed)])
1491
1492 AT_DATA([median1.sps], [dnl
1493 set format F12.3.
1494 data list notable list /ignore * animal * years * w *.
1495 begin data
1496 99  1   10  1
1497 99  4    1  1
1498 99  5   11  1
1499 99  5   10  1
1500 99  3    7  1
1501 99  6   10  1
1502 99  0    7  1
1503 99  3   14  1
1504 99  2    3  1
1505 99  1    1  1
1506 99  4    7  1
1507 99  5   12  1
1508 99  3    6  1
1509 99  4    1  1
1510 99  3    5  1
1511 99  5    7  1
1512 99  4    6  1
1513 99  3   14  1
1514 99  4    8  1
1515 99  5   13  1
1516 99  2    0  1
1517 99  4    7  1
1518 99  4    7  1
1519 99  1    0  1
1520 99  2    8  1
1521 99  4   10  1
1522 99  2    3  1
1523 99  2    0  1
1524 99  4    8  1
1525 99  1    8  1
1526 end data.
1527
1528
1529 variable label years 'Years expected'.
1530 variable label animal 'Animal Genus'.
1531
1532 add value labels animal 1 'Animal 1' 2 'Animal 2' 3 'Animal 3' 4 'Animal 4' 5 'Animal 5'.
1533
1534 npar tests
1535      /median = years by animal (1, 5)
1536      .
1537 ])
1538
1539
1540 AT_CHECK([pspp -O format=csv median1.sps], [0], [dnl
1541 Table: Frequencies
1542 ,,Animal Genus,,,,
1543 ,,Animal 1,Animal 2,Animal 3,Animal 4,Animal 5
1544 Years expected,> Median,2,1,2,3,4
1545 ,≤ Median,2,4,3,6,1
1546
1547 Table: Test Statistics
1548 ,N,Median,Chi-Square,df,Asymp. Sig.
1549 Years expected,28,7.000,4.317,4,.365
1550 ])
1551
1552 AT_CLEANUP
1553
1554
1555 AT_SETUP([NPAR TESTS Median Test (median given)])
1556
1557 AT_DATA([median2.sps], [dnl
1558 set format F12.3.
1559 data list notable list /ignore * animal * years * w *.
1560 begin data
1561 99  1   10  1
1562 99  4    1  1
1563 99  5   11  1
1564 99  5   10  1
1565 99  3    7  1
1566 99  3   14  1
1567 99  2    3  1
1568 99  1    1  1
1569 99  4    7  1
1570 99  5   12  1
1571 99  3    6  1
1572 99  4    1  1
1573 99  3    5  1
1574 99  5    7  1
1575 99  4    6  1
1576 99  3   14  1
1577 99  4    8  1
1578 99  5   13  1
1579 99  2    0  1
1580 99  4    7  1
1581 99  4    7  1
1582 99  1    0  1
1583 99  2    8  1
1584 99  4   10  1
1585 99  2    3  1
1586 99  2    0  1
1587 99  4    8  1
1588 99  1    8  1
1589 end data.
1590
1591
1592 variable label years 'Years expected'.
1593 variable label animal 'Animal Genus'.
1594
1595 add value labels animal 1 'Animal 1' 2 'Animal 2' 3 'Animal 3' 4 'Animal 4' 5 'Animal 5'.
1596
1597 npar tests
1598      /median (7) = years by animal (1, 5)
1599      .
1600 ])
1601
1602
1603 AT_CHECK([pspp -O format=csv median2.sps], [0], [dnl
1604 Table: Frequencies
1605 ,,Animal Genus,,,,
1606 ,,Animal 1,Animal 2,Animal 3,Animal 4,Animal 5
1607 Years expected,> Median,2,1,2,3,4
1608 ,≤ Median,2,4,3,6,1
1609
1610 Table: Test Statistics
1611 ,N,Median,Chi-Square,df,Asymp. Sig.
1612 Years expected,28,7.000,4.317,4,.365
1613 ])
1614
1615 AT_CLEANUP
1616
1617
1618 AT_SETUP([NPAR TESTS Median Test (two sample)])
1619
1620 AT_DATA([median3.sps], [dnl
1621 set format F12.3.
1622 data list notable list /xx * animal * years * w *.
1623 begin data
1624 99  1   10  1
1625 99  4    1  1
1626 99  5   11  1
1627 99  5   10  1
1628 99  3    7  1
1629 99  3   14  1
1630 99  2    3  1
1631 99  1    1  1
1632 99  4    7  1
1633 99  5   12  1
1634 99  3    6  1
1635 99  4    1  1
1636 99  3    5  1
1637 99  5    7  1
1638 99  4    6  1
1639 99  3   14  1
1640 99  4    8  1
1641 99  5   13  1
1642 99  2    0  1
1643 99  4    7  1
1644 99  4    7  1
1645 99  1    0  1
1646 99  2    8  1
1647 99  4   10  1
1648 99  2    3  1
1649 99  2    0  1
1650 99  4    8  1
1651 99  1    8  1
1652 end data.
1653
1654
1655 variable label years 'Years expected'.
1656 variable label animal 'Animal Genus'.
1657
1658 add value labels animal 1 'Animal 1' 2 'Animal 2' 3 'Animal 3' 4 'Animal 4' 5 'Animal 5'.
1659
1660 npar tests
1661      /median (7) = xx years by animal (5, 1)
1662      .
1663 ])
1664
1665
1666 AT_CHECK([pspp -O format=csv median3.sps], [0], [dnl
1667 Table: Frequencies
1668 ,,Animal Genus,
1669 ,,Animal 1,Animal 5
1670 xx,> Median,4,5
1671 ,≤ Median,0,0
1672 Years expected,> Median,2,4
1673 ,≤ Median,2,1
1674
1675 Table: Test Statistics
1676 ,N,Median,Chi-Square,df,Asymp. Sig.
1677 xx,9,7.000,NaN,1,NaN
1678 Years expected,9,7.000,.900,1,.343
1679 ])
1680
1681 AT_CLEANUP
1682
1683
1684 AT_SETUP([NPAR TESTS Jonckheere-Terpstra])
1685
1686 AT_DATA([jt.sps], [dnl
1687 set format = F12.3.
1688 data list notable list /x * g * w *.
1689 begin data.
1690 52  2  2
1691 58  2  1
1692 60  2  1
1693 62  2  1
1694 58  0  1
1695 44  2  1
1696 46  2  1
1697 14  3  1
1698 32  2  1
1699 16  3  1
1700 56  2  1
1701 26  3  1
1702 40  3  2
1703 50  4  1
1704 6   5  1
1705 34  2  3
1706 36  2  2
1707 40  2  2
1708 50  2  1
1709 end data.
1710
1711 weight by w.
1712
1713 npar test /jonckheere-terpstra = x by g (5, 2).
1714 ])
1715
1716
1717 AT_CHECK([pspp -O format=csv jt.sps], [0], [dnl
1718 Table: Jonckheere-Terpstra Test
1719 ,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)
1720 x,4,24.000,29.500,65.000,15.902,-2.232,.026
1721 ])
1722
1723 AT_CLEANUP
1724
1725 dnl Checks that (PAIRED) can have lists where the same 
1726 dnl variable appears more than once.
1727 AT_SETUP([NPAR TESTS (PAIRED)])
1728 AT_DATA([npar.sps], [dnl
1729 set format = F12.3.
1730 data list notable list /a * b * c *.
1731 begin data.
1732 1 2 4
1733 4 5 3
1734 1 2 2
1735 4 5 1
1736 end data.
1737
1738 npar tests /wilcoxon a b with c c (paired).
1739 ])
1740
1741 AT_CHECK([pspp -O format=csv npar.sps], [0], [dnl
1742 Table: Ranks
1743 ,,N,Mean Rank,Sum of Ranks
1744 a - c,Negative Ranks,2,2.500,5.000
1745 ,Positive Ranks,2,2.500,5.000
1746 ,Ties,0,,
1747 ,Total,4,,
1748 b - c,Negative Ranks,1,1.500,1.500
1749 ,Positive Ranks,2,2.250,4.500
1750 ,Ties,1,,
1751 ,Total,4,,
1752
1753 Table: Test Statistics
1754 ,a - c,b - c
1755 Z,.000,-.816
1756 Asymp. Sig. (2-tailed),1.000,.414
1757 ])
1758
1759
1760 AT_CLEANUP
1761
1762
1763
1764 AT_SETUP([NPAR TESTS CHISQUARE crash])
1765 dnl This syntax had been observed to crash pspp
1766
1767 AT_DATA([npar.sps], [dnl
1768 data list list /x *.
1769 begin data.
1770 1
1771 2
1772 3
1773 4
1774 5
1775 6
1776 7
1777 8
1778 9
1779 10
1780 end data.
1781
1782 * This happens to be invalid syntax.  But should not crash.
1783 NPAR TEST
1784         /CHISQUARE= x(0.098, 99.098)
1785         /EXPECTED =  1.2.
1786 ])
1787
1788 AT_CHECK([pspp -O format=csv npar.sps], [1], [ignore])
1789
1790 AT_CLEANUP
1791
1792
1793 AT_SETUP([NPAR TESTS - crash on invalid syntax])
1794
1795 AT_DATA([npar.sps], [dnl
1796 data list notable list /ev * xscore *.
1797 begin data.
1798 2 109
1799 3 115
1800 1 61
1801 1 101
1802 3 147
1803 end data.
1804
1805
1806 npar tests
1807         /kruskal-wallis xscore by(gv (1, 3).
1808 ])
1809
1810 AT_CHECK([pspp -O format=csv npar.sps], [1], [ignore])
1811
1812 AT_CLEANUP
1813
1814
1815
1816
1817 AT_SETUP([NPAR TESTS - crash on unterminated string])
1818
1819 AT_DATA([npar.sps], [dnl
1820 DATA LIST NOTABLE LIST /x * y * w * .
1821 BEGIN DATA.
1822 3.1 1  4
1823 3.2 2  1
1824 4   2  6
1825 END DATA.
1826
1827
1828 NPAR TESTS
1829 " CHISQUARE=x y(-2,5)
1830   /STATISTICS=DESCRIPTIVES
1831   .
1832 ])
1833
1834 AT_CHECK([pspp -O format=csv npar.sps], [1], [ignore])
1835
1836 AT_CLEANUP
1837