2e5d886f3fe05fdc53013d9f4a788e008df472c6
[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 AT_CHECK([pspp -O format=csv npar.sps], [0], [dnl
329 Table: x
330 ,Observed N,Expected N,Residual
331 1.00,3.00,2.33,.67
332 2.00,3.00,2.33,.67
333 3.10,4.00,2.33,1.67
334 3.20,1.00,2.33,-1.33
335 4.00,2.00,2.33,-.33
336 5.00,1.00,2.33,-1.33
337 Total,14.00,,
338
339 Table: y
340 ,Observed N,Expected N,Residual
341 1.00,7.00,3.50,3.50
342 2.00,4.00,3.50,.50
343 3.00,1.00,3.50,-2.50
344 4.00,2.00,3.50,-1.50
345 Total,14.00,,
346
347 Table: Test Statistics
348 ,x,y
349 Chi-Square,3.14,6.00
350 df,5,3
351 Asymp. Sig.,.68,.11
352
353 Table: y
354 ,Observed N,Expected N,Residual
355 1.00,7.00,2.63,4.38
356 2.00,4.00,3.50,.50
357 3.00,1.00,4.38,-3.38
358 4.00,2.00,3.50,-1.50
359 Total,14.00,,
360
361 Table: Test Statistics
362 ,y
363 Chi-Square,10.61
364 df,3
365 Asymp. Sig.,.01
366
367 Table: Frequencies
368 ,x,,,,y,,,
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,,
374
375 Table: Test Statistics
376 ,x,y
377 Chi-Square,.13,4.13
378 df,2,2
379 Asymp. Sig.,.94,.13
380 ])
381 AT_CLEANUP
382
383 AT_SETUP([NPAR TESTS CHISQUARE expected values missing])
384 AT_DATA([npar.sps], [dnl
385 DATA LIST NOTABLE LIST /x * y * w *.
386 BEGIN DATA.
387 1   2  1
388 2   1  3
389 3.1 1  4
390 3.2 2  1
391 4   2  2
392 5   3  1
393 1   4  2
394 END DATA.
395
396 WEIGHT BY w.
397
398 NPAR TESTS
399   CHISQUARE=y
400   /EXPECTED = 3 4 5 4 3 1
401   .
402 ])
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."
405
406 Table: Test Statistics
407 ,y
408 Chi-Square,.00
409 df,0
410 Asymp. Sig.,1.00
411 ])
412 AT_CLEANUP
413
414 AT_SETUP([NPAR TESTS CHISQUARE with DESCRIPTIVES])
415 AT_DATA([npar.sps], [dnl
416 DATA LIST NOTABLE LIST /x * y * w * .
417 BEGIN DATA.
418 1   2  1 
419 2   1  3
420 3.1 1  4
421 3.2 2  1
422 4   2  2
423 5   3  1
424 1   4  2
425 .   5  1
426 END DATA.
427
428 WEIGHT BY w.
429
430 MISSING VALUES x (4).
431
432 NPAR TESTS
433   CHISQUARE=x y(-2,5)
434   /MISSING=ANALYSIS
435   /STATISTICS=DESCRIPTIVES
436   .
437 ])
438 AT_CHECK([pspp -O format=csv npar.sps], [0], [dnl
439 Table: Frequencies
440 ,x,,,,y,,,
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,,
451
452 Table: Test Statistics
453 ,x,y
454 Chi-Square,17.33,22.87
455 df,7,7
456 Asymp. Sig.,.02,.00
457
458 Table: Descriptive Statistics
459 ,N,Mean,Std. Deviation,Minimum,Maximum
460 ,,,,,
461 x,12.00,2.47,1.19,1.00,5.00
462 y,15.00,2.07,1.33,1.00,5.00
463 ])
464 AT_CLEANUP
465
466 AT_SETUP([NPAR TESTS CHISQUARE, listwise missing])
467 AT_DATA([npar.sps], [dnl
468 DATA LIST NOTABLE LIST /x * y * w * .
469 BEGIN DATA.
470 1   2  1 
471 2   1  3
472 3.1 1  4
473 3.2 2  1
474 4   2  2
475 5   3  1
476 1   4  2
477 .   5  1
478 END DATA.
479
480 WEIGHT BY w.
481
482 * MISSING VALUES x (4).
483
484 NPAR TESTS
485   CHISQUARE=x y(-2,5)
486   /MISSING=LISTWISE
487   /STATISTICS=DESCRIPTIVES
488   .
489 ])
490 AT_CHECK([pspp -O format=csv npar.sps], [0], [dnl
491 Table: Frequencies
492 ,x,,,,y,,,
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,,
503
504 Table: Test Statistics
505 ,x,y
506 Chi-Square,13.43,26.00
507 df,7,7
508 Asymp. Sig.,.06,.00
509
510 Table: Descriptive Statistics
511 ,N,Mean,Std. Deviation,Minimum,Maximum
512 ,,,,,
513 x,14.00,2.69,1.23,1.00,5.00
514 y,14.00,1.86,1.10,1.00,4.00
515 ])
516 AT_CLEANUP
517
518 AT_SETUP([NPAR TESTS WILCOXON])
519 AT_DATA([npar.sps], [dnl
520 data list notable list /foo * bar * w (f8.0).
521 begin data.
522 1.00     1.00   1
523 1.00     2.00   1
524 2.00     1.00   1
525 1.00     4.00   1
526 2.00     5.00   1
527 1.00    19.00   1
528 2.00     7.00   1
529 4.00     5.00   1
530 1.00    12.00   1
531 2.00    13.00   1
532 2.00     2.00   1
533 12.00      .00  2
534 12.00     1.00  1
535 13.00     1.00  1
536 end data
537
538 variable labels foo "first" bar "second".
539
540 weight by w.
541
542 npar test
543  /wilcoxon=foo with bar (paired)
544  /missing analysis
545  /method=exact.
546 ])
547 AT_CHECK([pspp -o pspp.csv npar.sps])
548 AT_CHECK([cat pspp.csv], [0], [dnl
549 Table: Ranks
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
553 ,Ties,2,,
554 ,Total,15,,
555
556 Table: Test Statistics
557 ,first - second
558 Z,-.18
559 Asymp. Sig. (2-tailed),.86
560 Exact Sig. (2-tailed),.89
561 Exact Sig. (1-tailed),.45
562 ])
563 AT_CLEANUP
564
565 AT_SETUP([NPAR TESTS WILCOXON with missing values])
566 AT_DATA([npar.sps], [dnl
567 data list notable list /foo * bar * dummy *.
568 begin data.
569 1.00     1.00    1
570 1.00     2.00    1
571 2.00     1.00    1
572 1.00     4.00    .
573 2.00     5.00    .
574 1.00    19.00    .
575 2.00     7.00    1
576 4.00     5.00    1
577 1.00    12.00    1
578 2.00    13.00    1
579 2.00     2.00    1
580 12.00      .00   1
581 12.00      .00   1
582 34.2       .     1
583 12.00     1.00   1  
584 13.00     1.00   1
585 end data
586
587 variable labels foo "first" bar "second".
588
589 npar test
590  /wilcoxon=foo with bar (paired)
591  /missing analysis
592  /method=exact.
593
594 ])
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
598 Table: Ranks
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
602 ,Ties,2,,
603 ,Total,15,,
604
605 Table: Test Statistics
606 ,first - second
607 Z,-.18
608 Asymp. Sig. (2-tailed),.86
609 Exact Sig. (2-tailed),.89
610 Exact Sig. (1-tailed),.45
611 ])
612 AT_CLEANUP
613
614 AT_SETUP([NPAR TESTS SIGN])
615 AT_DATA([npar.sps], [dnl
616 set format = F9.3.
617
618 data list notable list /age * height rank *.
619 begin data.
620 10 12 11
621 12 13 13 
622 13 14 12
623 12 12 10
624 9   9 10
625 10.3 10.2 12
626 end data.
627
628 npar tests
629         /sign=age height WITH height rank (PAIRED)
630         /MISSING ANALYSIS
631         /METHOD=EXACT
632         .
633 ])
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
638 Table: Frequencies
639 ,,N
640 age - height,Negative Differences,3
641 ,Positive Differences,1
642 ,Ties,2
643 ,Total,6
644 height - rank,Negative Differences,2
645 ,Positive Differences,3
646 ,Ties,1
647 ,Total,6
648
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
654 ])
655 AT_CLEANUP
656
657
658 AT_SETUP([NPAR Kruskal-Wallis test])
659
660 dnl Simple case
661 AT_DATA([kw-simple.sps], [dnl
662 set format = F9.3.
663
664 data list notable list /gv * xscore *.
665 begin data
666 1 96
667 1 128
668 1 83
669 2 132
670 2 135
671 2 109
672 3 115
673 1 61
674 1 101
675 2 82
676 2 124
677 3 149 
678 3 166
679 3 147
680 end data.
681
682 value label /gv
683        1 "timed out"
684        2 "hit wicket"
685        3 "handled the ball".
686
687 npar tests
688         /kruskal-wallis xscore by gv (1, 3)
689         .
690 ])
691
692 AT_CHECK([pspp -o pspp.csv kw-simple.sps])
693 AT_CHECK([cat pspp.csv], [0], [dnl
694 Table: Ranks
695 ,gv,N,Mean Rank
696 xscore,timed out,5,4.400
697 ,hit wicket,5,7.400
698 ,handled the ball,4,11.500
699 ,Total,14,
700
701 Table: Test Statistics
702 ,,xscore
703 Chi-Square,,6.406
704 df,,2
705 Asymp. Sig.,,.041
706 ])
707
708
709 dnl Now try a missing value in the group variable
710 AT_DATA([kw-missing-group.sps], [dnl
711 set format = F9.3.
712
713 data list notable list /gv * xscore *.
714 begin data
715 1 96
716 1 128
717 1 83
718 1 61
719 1 101
720 2 82
721 2 124
722 2 132
723 2 135
724 2 109
725 3 115
726 3 149 
727 3 166
728 3 147
729 2.5 344
730 end data.
731
732 missing values gv (2.5).
733
734 value label /gv
735        1 "timed out"
736        2 "hit wicket"
737        3 "handled the ball".
738
739 npar tests
740         /kruskal-wallis xscore by gv (1, 3)
741         /missing=exclude
742         .
743 ])
744
745 AT_CHECK([pspp -o pspp2.csv kw-missing-group.sps])
746
747 dnl The result should be the same as before
748 AT_CHECK([diff pspp.csv pspp2.csv], [0])
749
750 AT_CLEANUP
751
752
753 AT_SETUP([NPAR Kruskal-Wallis multiple-variables])
754
755 AT_DATA([kw-multi.sps], [dnl
756 set format = F9.3.
757
758 data list notable list /gv * xscore * yscore.
759 begin data
760 1 96   .
761 1 128  .
762 1 83   . 
763 2 132  132
764 2 135  135
765 2 109  109
766 3 115  115
767 1 61   . 
768 1 101  .
769 2 82   82 
770 2 124  124
771 3 149  149
772 3 166  166
773 3 147  147
774 4 .    96
775 4 .    128
776 4 .    83
777 4 .    61
778 4 .    101
779 end data.
780
781 value label /gv
782        1 "timed out"
783        2 "hit wicket"
784        3 "handled the ball"
785        4 "bowled"
786        5 "lbw"
787        .
788        
789 npar tests
790         /k-w xscore yscore by gv (1, 5)
791         .
792
793 ])
794
795
796 AT_CHECK([pspp -o pspp.csv kw-multi.sps])
797 AT_CHECK([cat pspp.csv], [0], [dnl
798 Table: Ranks
799 ,gv,N,Mean Rank
800 xscore,timed out,5,4.400
801 ,hit wicket,5,7.400
802 ,handled the ball,4,11.500
803 ,Total,14,
804 yscore,hit wicket,5,7.400
805 ,handled the ball,4,11.500
806 ,bowled,5,4.400
807 ,Total,14,
808
809 Table: Test Statistics
810 ,,xscore,yscore,
811 Chi-Square,,6.406,6.406,
812 df,,2,2,
813 Asymp. Sig.,,.041,.041,
814 ])
815
816 AT_CLEANUP
817
818
819
820 AT_SETUP([NPAR TESTS Runs])
821 AT_DATA([npar-runs.sps], [dnl
822 set format F11.4.
823 data list notable list /score * w *.
824 begin data
825 4     6
826 .     4
827 4     3 
828 3    20 
829 2    29 
830 1    42 
831 6    18 
832 5     7 
833 6    78 
834 5    10 
835 6    46 
836 5     5 
837 6    17 
838 5     1 
839 6    11 
840 4     2 
841 3     7 
842 2     6 
843 1    10 
844 4    13 
845 3    22 
846 3    11 
847 2    24 
848 1    18 
849 4     4 
850 3    12 
851 2    10 
852 1    25 
853 4     4 
854 3     7 
855 2     3 
856 1     4 
857 4     2 
858 3     3 
859 2     2 
860 1     4 
861 end data.
862
863 weight by w.
864
865 npar tests
866         /runs (MEDIAN) = score
867         /runs (MEAN) = score
868         /runs (MODE) = score 
869         .
870 ])
871
872 AT_CHECK([pspp -o pspp.csv npar-runs.sps])
873
874 AT_CHECK([cat pspp.csv], [0], [dnl
875 Table: Runs Test
876 ,score
877 Test Value (median),3.0000
878 Cases < Test Value,177.0000
879 Cases ≥ Test Value,309.0000
880 Total Cases,486.0000
881 Number of Runs,12
882 Z,-20.9931
883 Asymp. Sig. (2-tailed),.0000
884
885 Table: Runs Test
886 ,score
887 Test Value (mean),3.6379
888 Cases < Test Value,259.0000
889 Cases ≥ Test Value,227.0000
890 Total Cases,486.0000
891 Number of Runs,12
892 Z,-21.0650
893 Asymp. Sig. (2-tailed),.0000
894
895 Table: Runs Test
896 ,score
897 Test Value (mode),6.0000
898 Cases < Test Value,316.0000
899 Cases ≥ Test Value,170.0000
900 Total Cases,486.0000
901 Number of Runs,11
902 Z,-21.0742
903 Asymp. Sig. (2-tailed),.0000
904 ])
905
906 AT_CLEANUP
907
908
909 AT_SETUP([NPAR TESTS Friedman])
910 AT_DATA([npar-friedman.sps], [dnl
911 set format F15.4.
912 data list notable list /x * y * z.
913 begin data
914 9.5 6.5 8.1
915 8.0 6.0 6.0
916 7.0 6.5 4.2
917 9.5 5.0 7.3
918 9.0 7.0 6.2
919 8.5 6.9 6.5
920 7.5 8.0 6.5
921 6.0 8.0 3.1
922 5.0 6.0 4.9
923 7.5 7.5 6.2
924 end data.
925
926 npar tests
927      /friedman = x y z.
928 ])
929
930 AT_CHECK([pspp -o pspp.csv npar-friedman.sps])
931
932 AT_CHECK([cat pspp.csv], [0], [dnl
933 Table: Ranks
934 ,Mean Rank
935 x,2.6500
936 y,2.1000
937 z,1.2500
938
939 Table: Test Statistics
940 N,10
941 Chi-Square,10.4737
942 df,2
943 Asymp. Sig.,.0053
944 ])
945
946 AT_CLEANUP
947
948
949
950 AT_SETUP([NPAR TESTS Mann-Whitney])
951 AT_DATA([npar-mann-whitney.sps], [dnl
952 SET FORMAT     = F11.4
953
954 data list notable list /height * sex (f1.0).
955 begin data.
956 201 1            
957 84 1            
958 83 1            
959 94 1            
960 88 0            
961 99 0            
962 55 0            
963 69 0            
964 86 1            
965 79 1            
966 91 0            
967 201 0            
968 88 1            
969 85 1            
970 82 1            
971 88 0            
972 75 0            
973 99 0            
974 81 0            
975 72 1            
976 89 1            
977 92 1            
978 80 0            
979 82 0            
980 76 0            
981 65 0            
982 85 0            
983 76 1            
984 145 1            
985 24 1            
986 end data.
987
988 NPAR TESTS 
989      /M-W = height BY sex (0,1).
990 ])
991
992 AT_CHECK([pspp -o pspp.csv npar-mann-whitney.sps])
993
994 AT_CHECK([cat pspp.csv], [0], [dnl
995 Table: Ranks
996 ,N,,,Mean Rank,,Sum of Ranks,
997 ,0,1,Total,0,1,0,1
998 height,15.0000,15.0000,30.0000,14.5333,16.4667,218.0000,247.0000
999
1000 Table: Test Statistics
1001 ,Mann-Whitney U,Wilcoxon W,Z,Asymp. Sig. (2-tailed)
1002 height,98.0000,218.0000,-.6020,.5472
1003 ])
1004
1005
1006 AT_CLEANUP
1007
1008
1009 AT_SETUP([NPAR TESTS Cochran])
1010 AT_DATA([npar-cochran.sps], [dnl
1011 set format f11.3.
1012
1013 data list notable list /v1 * v2 * v3 * v4 * v5 * v6 * v7 *.
1014 begin data.
1015 2 1 1 2 1 1 2 
1016 2 2 2 2 1 1 1  
1017 1 1 2 2 1 1 2  
1018 2 2 2 2 1 1 2 
1019 2 1 2 1 1 2 1 
1020 1 2 2 1 1 1 1 
1021 1 2 2 2 2 2 2 
1022 2 2 1 2 1 1 1 
1023 1 2 1 2 1 1 2 
1024 end data.     
1025
1026 npar tests 
1027         /cochran = v1 to v7 .
1028
1029 ])
1030
1031 AT_CHECK([pspp -o pspp.csv npar-cochran.sps])
1032
1033 AT_CHECK([cat pspp.csv], [0], [dnl
1034 Table: Frequencies
1035 ,Value,
1036 ,Success (2),Failure (1)
1037 v1,5,4
1038 v2,6,3
1039 v3,6,3
1040 v4,7,2
1041 v5,1,8
1042 v6,2,7
1043 v7,5,4
1044
1045 Table: Test Statistics
1046 N,9
1047 Cochran's Q,12.735
1048 df,6
1049 Asymp. Sig.,.047
1050 ])
1051
1052 AT_CLEANUP
1053
1054
1055
1056 AT_SETUP([NPAR TESTS Kendall])
1057 AT_DATA([npar-kendall.sps], [dnl
1058 SET FORMAT F14.3.
1059
1060 data list notable list /v1 * v2 * v3
1061 begin data.
1062  7  7  2 
1063  5  6  5 
1064  8  6  4 
1065  5  7  4 
1066  5  4  4 
1067  8  6  5 
1068  6  3  5 
1069  7  6  5 
1070  8  5  5
1071  .  2  2 
1072  5  4  5 
1073  3  4  4 
1074  5  1  2 
1075  5  2  1 
1076  7  6  5 
1077  6  3  4 
1078  6  6  6 
1079  5  4  5 
1080  4  3  4 
1081  9  1  1 
1082  6  2  1 
1083  3  7  8 
1084  6  3  4 
1085  4  4  4 
1086  5  4  3 
1087  6  5  2 
1088  4  4  8 
1089  4  6  4 
1090  6  5  5 
1091  7  8  6 
1092  5  3  5 
1093 end data.
1094
1095 npar tests
1096         /kendall = all
1097         .
1098 ])
1099
1100 AT_CHECK([pspp -o pspp.csv npar-kendall.sps])
1101
1102 AT_CHECK([cat pspp.csv], [0], [dnl
1103 Table: Ranks
1104 ,Mean Rank
1105 v1,2.500
1106 v2,1.817
1107 v3,1.683
1108
1109 Table: Test Statistics
1110 N,30
1111 Kendall's W,.233
1112 Chi-Square,13.960
1113 df,2
1114 Asymp. Sig.,.001
1115 ])
1116
1117 AT_CLEANUP
1118
1119
1120
1121 AT_SETUP([NPAR TESTS McNemar])
1122
1123 AT_DATA([mcnemar.sps], [dnl
1124 set format = F12.3.
1125 data list notable list /v1 * v2 * junk *.
1126 begin data.
1127 0 0 0
1128 0 0 0
1129 0 0 0
1130 0 0 0
1131 0 1 0
1132 0 1 0
1133 0 1 0
1134 0 1 0
1135 0 1 1
1136 0 1 1
1137 0 1 1
1138 0 1 1
1139 0 1 1
1140 1 0 1
1141 1 0 1
1142 1 1 1
1143 1 1 1
1144 1 1 0
1145 1 1 0
1146 1 1 1
1147 end data.
1148
1149 npar tests 
1150      /mcnemar = v1 WITH v2 junk.
1151 ])
1152
1153 AT_CHECK([pspp -O format=csv mcnemar.sps], [0], [dnl
1154 Table: v1 & v2
1155 v1,v2,
1156 ,.000,1.000
1157 .000,4,9
1158 1.000,2,5
1159
1160 Table: v1 & junk
1161 v1,junk,
1162 ,.000,1.000
1163 .000,8,5
1164 1.000,2,5
1165
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
1170 ])
1171
1172 AT_CLEANUP
1173
1174
1175 AT_SETUP([NPAR TESTS Kolmogorov-Smirnov Uniform parameters given])
1176
1177 AT_DATA([ks-uniform.sps], [dnl
1178 set format F12.3.
1179 data list notable list /x *.
1180 begin data
1181 .554
1182 .382
1183 .329
1184 .480
1185 .711
1186 .503
1187 .203
1188 .477
1189 .621
1190 .581
1191 end data.
1192
1193 npar tests k-s (uniform 0 1) = x.
1194 ])
1195
1196 AT_CHECK([pspp -O format=csv ks-uniform.sps], [0], [dnl
1197 Table: One-Sample Kolmogorov-Smirnov Test
1198 ,,x
1199 N,,10
1200 Uniform Parameters,Minimum,.000
1201 ,Maximum,1.000
1202 Most Extreme Differences,Absolute,.289
1203 ,Positive,.289
1204 ,Negative,-.229
1205 Kolmogorov-Smirnov Z,,.914
1206 Asymp. Sig. (2-tailed),,.374
1207 ])
1208
1209 AT_CLEANUP
1210
1211
1212 AT_SETUP([NPAR TESTS Kolmogorov-Smirnov Normal parameters imputed])
1213
1214 AT_DATA([ks-normal.sps], [dnl
1215 set format = F12.3.
1216
1217 data list notable list /foo * bar *.
1218 begin data.
1219 65 12.5
1220 59 14.2
1221 43 12.6
1222 57 
1223 68 
1224 79 
1225 51 
1226 62 
1227 57  
1228 73 
1229 58 
1230 58 
1231 68 
1232 75 
1233 47 
1234 70 
1235 59 
1236 71 
1237 52 
1238 48 13.0
1239 58 14.1
1240 37 15.0
1241 39 13.1
1242 58 13.2
1243 43 14.5
1244 58 13.5
1245 86 14.0
1246 63 12.5
1247 80 12.8
1248 70 
1249 63 
1250 53 
1251 53 
1252 48 
1253 49 
1254 51 
1255 47 
1256 81 
1257 66 
1258 78 
1259 65
1260 69 
1261 70 12.1
1262 63 12.5
1263 64 12.4
1264 39 13.8
1265 51 13.2
1266 68 14.0
1267 76 12.6
1268 53 12.1
1269 71 13.5
1270 47 13.8
1271 87 14.1
1272 72 12.9
1273 48 12.1
1274 75 12.8
1275 51 13.4
1276 63 13.9
1277 61 12.5
1278 61 12.4
1279 66 12.8
1280 82 12.9
1281 81 13.6
1282 46 
1283 52 
1284 71 
1285 73 
1286 58 
1287 57 
1288 46 
1289 58 
1290 52 13.5
1291 71 13.2
1292 57 12.8
1293 78 14.1
1294 73 12.1
1295 50 12.6
1296 71
1297 51
1298 51
1299 68
1300 84
1301 64
1302 66
1303 65
1304 52
1305 56
1306 70
1307 68
1308 66
1309 78
1310 65
1311 71
1312 53
1313 81
1314 53
1315 57
1316 64
1317 61
1318 43
1319 56
1320 37
1321 74
1322 66
1323 81
1324 67
1325 80
1326 68
1327 76
1328 70
1329 80
1330 42
1331 74
1332 80
1333 70
1334 60
1335 39
1336 72
1337 69
1338 63
1339 72
1340 63
1341 49
1342 53 13.2
1343 43 13.8
1344 51 12.5
1345 63 12.6
1346 64 12.9
1347 65 13.0
1348 64 12.5
1349 66 12.0
1350 55 
1351 62 
1352 58 
1353 48 
1354 67 
1355 46 
1356 36 
1357 61 
1358 55 
1359 77 
1360 74 
1361 60 
1362 70  
1363 69 
1364 57 
1365 49 
1366 63 
1367 69 
1368 63 
1369 76 
1370 53 
1371 54 
1372 42 
1373 64 
1374 66 
1375 61 
1376 62 
1377 73 
1378 73 
1379 60 
1380 79 
1381 40 
1382 48 
1383 76 
1384 60 
1385 76 
1386 54
1387 69
1388 65
1389 69
1390 51
1391 54
1392 82
1393 end data.
1394
1395 npar tests 
1396         /k-s (normal) = foo bar.
1397 ])
1398
1399 AT_CHECK([pspp -O format=csv ks-normal.sps], [0], [dnl
1400 Table: One-Sample Kolmogorov-Smirnov Test
1401 ,,foo,bar
1402 N,,174,48
1403 Normal Parameters,Mean,62.109,13.108
1404 ,Std. Deviation,11.548,.718
1405 Most Extreme Differences,Absolute,.059,.115
1406 ,Positive,.055,.115
1407 ,Negative,-.059,-.082
1408 Kolmogorov-Smirnov Z,,.785,.795
1409 Asymp. Sig. (2-tailed),,.569,.552
1410 ])
1411
1412
1413 AT_CLEANUP
1414
1415
1416 AT_SETUP([NPAR TESTS Median Test (median imputed)])
1417
1418 AT_DATA([median1.sps], [dnl
1419 set format F12.3.
1420 data list notable list /ignore * animal * years * w *.
1421 begin data
1422 99  1   10  1
1423 99  4    1  1
1424 99  5   11  1
1425 99  5   10  1
1426 99  3    7  1
1427 99  6   10  1
1428 99  0    7  1
1429 99  3   14  1
1430 99  2    3  1
1431 99  1    1  1
1432 99  4    7  1
1433 99  5   12  1
1434 99  3    6  1
1435 99  4    1  1
1436 99  3    5  1
1437 99  5    7  1
1438 99  4    6  1
1439 99  3   14  1
1440 99  4    8  1
1441 99  5   13  1
1442 99  2    0  1
1443 99  4    7  1
1444 99  4    7  1
1445 99  1    0  1
1446 99  2    8  1
1447 99  4   10  1
1448 99  2    3  1
1449 99  2    0  1
1450 99  4    8  1
1451 99  1    8  1
1452 end data.
1453
1454
1455 variable label years 'Years expected'.
1456 variable label animal 'Animal Genus'.
1457
1458 add value labels animal 1 'Animal 1' 2 'Animal 2' 3 'Animal 3' 4 'Animal 4' 5 'Animal 5'.
1459
1460 npar tests
1461      /median = years by animal (1, 5)
1462      .
1463 ])
1464
1465
1466 AT_CHECK([pspp -O format=csv median1.sps], [0], [dnl
1467 Table: Frequencies
1468 ,,Animal Genus,,,,
1469 ,,Animal 1,Animal 2,Animal 3,Animal 4,Animal 5
1470 Years expected,> Median,2,1,2,3,4
1471 ,≤ Median,2,4,3,6,1
1472
1473 Table: Test Statistics
1474 ,N,Median,Chi-Square,df,Asymp. Sig.
1475 Years expected,28,7.000,4.317,4,.365
1476 ])
1477
1478 AT_CLEANUP
1479
1480
1481 AT_SETUP([NPAR TESTS Median Test (median given)])
1482
1483 AT_DATA([median2.sps], [dnl
1484 set format F12.3.
1485 data list notable list /ignore * animal * years * w *.
1486 begin data
1487 99  1   10  1
1488 99  4    1  1
1489 99  5   11  1
1490 99  5   10  1
1491 99  3    7  1
1492 99  3   14  1
1493 99  2    3  1
1494 99  1    1  1
1495 99  4    7  1
1496 99  5   12  1
1497 99  3    6  1
1498 99  4    1  1
1499 99  3    5  1
1500 99  5    7  1
1501 99  4    6  1
1502 99  3   14  1
1503 99  4    8  1
1504 99  5   13  1
1505 99  2    0  1
1506 99  4    7  1
1507 99  4    7  1
1508 99  1    0  1
1509 99  2    8  1
1510 99  4   10  1
1511 99  2    3  1
1512 99  2    0  1
1513 99  4    8  1
1514 99  1    8  1
1515 end data.
1516
1517
1518 variable label years 'Years expected'.
1519 variable label animal 'Animal Genus'.
1520
1521 add value labels animal 1 'Animal 1' 2 'Animal 2' 3 'Animal 3' 4 'Animal 4' 5 'Animal 5'.
1522
1523 npar tests
1524      /median (7) = years by animal (1, 5)
1525      .
1526 ])
1527
1528
1529 AT_CHECK([pspp -O format=csv median2.sps], [0], [dnl
1530 Table: Frequencies
1531 ,,Animal Genus,,,,
1532 ,,Animal 1,Animal 2,Animal 3,Animal 4,Animal 5
1533 Years expected,> Median,2,1,2,3,4
1534 ,≤ Median,2,4,3,6,1
1535
1536 Table: Test Statistics
1537 ,N,Median,Chi-Square,df,Asymp. Sig.
1538 Years expected,28,7.000,4.317,4,.365
1539 ])
1540
1541 AT_CLEANUP
1542
1543
1544 AT_SETUP([NPAR TESTS Median Test (two sample)])
1545
1546 AT_DATA([median3.sps], [dnl
1547 set format F12.3.
1548 data list notable list /xx * animal * years * w *.
1549 begin data
1550 99  1   10  1
1551 99  4    1  1
1552 99  5   11  1
1553 99  5   10  1
1554 99  3    7  1
1555 99  3   14  1
1556 99  2    3  1
1557 99  1    1  1
1558 99  4    7  1
1559 99  5   12  1
1560 99  3    6  1
1561 99  4    1  1
1562 99  3    5  1
1563 99  5    7  1
1564 99  4    6  1
1565 99  3   14  1
1566 99  4    8  1
1567 99  5   13  1
1568 99  2    0  1
1569 99  4    7  1
1570 99  4    7  1
1571 99  1    0  1
1572 99  2    8  1
1573 99  4   10  1
1574 99  2    3  1
1575 99  2    0  1
1576 99  4    8  1
1577 99  1    8  1
1578 end data.
1579
1580
1581 variable label years 'Years expected'.
1582 variable label animal 'Animal Genus'.
1583
1584 add value labels animal 1 'Animal 1' 2 'Animal 2' 3 'Animal 3' 4 'Animal 4' 5 'Animal 5'.
1585
1586 npar tests
1587      /median (7) = xx years by animal (5, 1)
1588      .
1589 ])
1590
1591
1592 AT_CHECK([pspp -O format=csv median3.sps], [0], [dnl
1593 Table: Frequencies
1594 ,,Animal Genus,
1595 ,,Animal 1,Animal 5
1596 xx,> Median,4,5
1597 ,≤ Median,0,0
1598 Years expected,> Median,2,4
1599 ,≤ Median,2,1
1600
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
1605 ])
1606
1607 AT_CLEANUP
1608
1609
1610 AT_SETUP([NPAR TESTS Jonckheere-Terpstra])
1611
1612 AT_DATA([jt.sps], [dnl
1613 set format = F12.3.
1614 data list notable list /x * g * w *.
1615 begin data.
1616 52  2  2
1617 58  2  1
1618 60  2  1
1619 62  2  1
1620 58  0  1
1621 44  2  1
1622 46  2  1
1623 14  3  1
1624 32  2  1
1625 16  3  1
1626 56  2  1
1627 26  3  1
1628 40  3  2
1629 50  4  1
1630 6   5  1
1631 34  2  3
1632 36  2  2
1633 40  2  2
1634 50  2  1
1635 end data.
1636
1637 weight by w.
1638
1639 npar test /jonckheere-terpstra = x by g (5, 2).
1640 ])
1641
1642
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
1647 ])
1648
1649 AT_CLEANUP
1650
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
1655 set format = F12.3.
1656 data list notable list /a * b * c *.
1657 begin data.
1658 1 2 4
1659 4 5 3
1660 1 2 2
1661 4 5 1
1662 end data.
1663
1664 npar tests /wilcoxon a b with c c (paired).
1665 ])
1666
1667 AT_CHECK([pspp -O format=csv npar.sps], [0], [dnl
1668 Table: Ranks
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
1672 ,Ties,0,,
1673 ,Total,4,,
1674 b - c,Negative Ranks,1,1.500,1.500
1675 ,Positive Ranks,2,2.250,4.500
1676 ,Ties,1,,
1677 ,Total,4,,
1678
1679 Table: Test Statistics
1680 ,a - c,b - c
1681 Z,.000,-.816
1682 Asymp. Sig. (2-tailed),1.000,.414
1683 ])
1684
1685
1686 AT_CLEANUP
1687
1688
1689
1690 AT_SETUP([NPAR TESTS CHISQUARE crash])
1691 dnl This syntax had been observed to crash pspp
1692
1693 AT_DATA([npar.sps], [dnl
1694 data list list /x *.
1695 begin data.
1696 1
1697 2
1698 3
1699 4
1700 5
1701 6
1702 7
1703 8
1704 9
1705 10
1706 end data.
1707
1708 * This happens to be invalid syntax.  But should not crash.
1709 NPAR TEST
1710         /CHISQUARE= x(0.098, 99.098)
1711         /EXPECTED =  1.2.
1712 ])
1713
1714 AT_CHECK([pspp -O format=csv npar.sps], [1], [ignore])
1715
1716 AT_CLEANUP