output: Introduce pivot tables.
[pspp] / tests / language / stats / oneway.at
1 dnl PSPP - a program for statistical analysis.
2 dnl Copyright (C) 2017 Free Software Foundation, Inc.
3 dnl 
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.
8 dnl 
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.
13 dnl 
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/>.
16 dnl
17 AT_BANNER([ONEWAY procedure])
18
19 AT_SETUP([ONEWAY basic operation])
20 AT_KEYWORDS([categorical categoricals])
21 AT_DATA([oneway.sps],
22   [DATA LIST NOTABLE LIST /QUALITY * BRAND * .
23 BEGIN DATA
24 7  3
25 4  3
26 3  1
27 2  1
28 1  1
29 4  2
30 2  2
31 3  2
32 5  3
33 1  1
34 4  1
35 5  2
36 2  2
37 3  3
38 6  3
39 END DATA
40
41 VARIABLE LABELS brand 'Manufacturer'.
42 VARIABLE LABELS quality 'Breaking Strain'.
43
44 VALUE LABELS /brand 1 'Aspeger' 2 'Bloggs' 3 'Charlies'.
45
46 ONEWAY
47         quality BY brand
48         /STATISTICS descriptives homogeneity
49         /CONTRAST =  -2 1 1 
50         /CONTRAST = 0 -1 1
51         .
52 ])
53
54 AT_CHECK([pspp -o pspp.csv -o pspp.txt oneway.sps])
55 AT_CHECK([cat pspp.csv], [0], [dnl
56 Table: Descriptives
57 ,,N,Mean,Std. Deviation,Std. Error,95% Confidence Interval for Mean,,Minimum,Maximum
58 ,Manufacturer,,,,,Lower Bound,Upper Bound,,
59 Breaking Strain,Aspeger,5,2.20,1.30,.58,.58,3.82,1.00,4.00
60 ,Bloggs,5,3.20,1.30,.58,1.58,4.82,2.00,5.00
61 ,Charlies,5,5.00,1.58,.71,3.04,6.96,3.00,7.00
62 ,Total,15,3.47,1.77,.46,2.49,4.45,1.00,7.00
63
64 Table: Test of Homogeneity of Variances
65 ,Levene Statistic,df1,df2,Sig.
66 Breaking Strain,.09,2,12,.913
67
68 Table: ANOVA
69 ,,Sum of Squares,df,Mean Square,F,Sig.
70 Breaking Strain,Between Groups,20.13,2,10.07,5.12,.025
71 ,Within Groups,23.60,12,1.97,,
72 ,Total,43.73,14,,,
73
74 Table: Contrast Coefficients
75 ,Manufacturer,,
76 Contrast,Aspeger,Bloggs,Charlies
77 1,-2,1,1
78 2,0,-1,1
79
80 Table: Contrast Tests
81 ,,Contrast,Value of Contrast,Std. Error,t,df,Sig. (2-tailed)
82 Breaking Strain,Assume equal variances,1,3.80,1.54,2.47,12.00,.029
83 ,,2,1.80,.89,2.03,12.00,.065
84 ,Does not assume equal variances,1,3.80,1.48,2.56,8.74,.031
85 ,,2,1.80,.92,1.96,7.72,.086
86 ])
87 AT_CLEANUP
88
89
90 AT_SETUP([ONEWAY with splits])
91 AT_KEYWORDS([categorical categoricals])
92 AT_DATA([oneway-splits.sps],
93 [DATA LIST NOTABLE LIST /QUALITY * BRAND * S *.
94 BEGIN DATA
95 3 1 1
96 2 1 1
97 1 1 1
98 1 1 1
99 4 1 1
100 5 2 1
101 2 2 1
102 4 2 2
103 2 2 2
104 3 2 2
105 7  3 2
106 4  3 2
107 5  3 2
108 3  3 2
109 6  3 2
110 END DATA
111
112 VARIABLE LABELS brand 'Manufacturer'.
113 VARIABLE LABELS quality 'Breaking Strain'.
114
115 VALUE LABELS /brand 1 'Aspeger' 2 'Bloggs' 3 'Charlies'.
116
117 SPLIT FILE by s.
118
119 ONEWAY
120         quality BY brand
121         /STATISTICS descriptives homogeneity
122         /CONTRAST =  -2 2
123         /CONTRAST = -1 1
124         .
125 ])
126
127 AT_CHECK([pspp -o pspp.csv -o pspp.txt oneway-splits.sps])
128 AT_CHECK([cat pspp.csv], [0], [dnl
129 Table: Split Values
130 Variable,Value
131 S,1.00
132
133 Table: Descriptives
134 ,,N,Mean,Std. Deviation,Std. Error,95% Confidence Interval for Mean,,Minimum,Maximum
135 ,Manufacturer,,,,,Lower Bound,Upper Bound,,
136 Breaking Strain,Aspeger,5,2.20,1.30,.58,.58,3.82,1.00,4.00
137 ,Bloggs,2,3.50,2.12,1.50,-15.56,22.56,2.00,5.00
138 ,Total,7,2.57,1.51,.57,1.17,3.97,1.00,5.00
139
140 Table: Test of Homogeneity of Variances
141 ,Levene Statistic,df1,df2,Sig.
142 Breaking Strain,1.09,1,5,.345
143
144 Table: ANOVA
145 ,,Sum of Squares,df,Mean Square,F,Sig.
146 Breaking Strain,Between Groups,2.41,1,2.41,1.07,.349
147 ,Within Groups,11.30,5,2.26,,
148 ,Total,13.71,6,,,
149
150 Table: Contrast Coefficients
151 ,Manufacturer,
152 Contrast,Aspeger,Bloggs
153 1,-2,2
154 2,-1,1
155
156 Table: Contrast Tests
157 ,,Contrast,Value of Contrast,Std. Error,t,df,Sig. (2-tailed)
158 Breaking Strain,Assume equal variances,1,2.60,2.52,1.03,5.00,.349
159 ,,2,1.30,1.26,1.03,5.00,.349
160 ,Does not assume equal variances,1,2.60,3.22,.81,1.32,.539
161 ,,2,1.30,1.61,.81,1.32,.539
162
163 Table: Split Values
164 Variable,Value
165 S,2.00
166
167 Table: Descriptives
168 ,,N,Mean,Std. Deviation,Std. Error,95% Confidence Interval for Mean,,Minimum,Maximum
169 ,Manufacturer,,,,,Lower Bound,Upper Bound,,
170 Breaking Strain,Bloggs,3,3.00,1.00,.58,.52,5.48,2.00,4.00
171 ,Charlies,5,5.00,1.58,.71,3.04,6.96,3.00,7.00
172 ,Total,8,4.25,1.67,.59,2.85,5.65,2.00,7.00
173
174 Table: Test of Homogeneity of Variances
175 ,Levene Statistic,df1,df2,Sig.
176 Breaking Strain,.92,1,6,.374
177
178 Table: ANOVA
179 ,,Sum of Squares,df,Mean Square,F,Sig.
180 Breaking Strain,Between Groups,7.50,1,7.50,3.75,.101
181 ,Within Groups,12.00,6,2.00,,
182 ,Total,19.50,7,,,
183
184 Table: Contrast Coefficients
185 ,Manufacturer,
186 Contrast,Bloggs,Charlies
187 1,-2,2
188 2,-1,1
189
190 Table: Contrast Tests
191 ,,Contrast,Value of Contrast,Std. Error,t,df,Sig. (2-tailed)
192 Breaking Strain,Assume equal variances,1,4.00,2.07,1.94,6.00,.101
193 ,,2,2.00,1.03,1.94,6.00,.101
194 ,Does not assume equal variances,1,4.00,1.83,2.19,5.88,.072
195 ,,2,2.00,.91,2.19,5.88,.072
196 ])
197 AT_CLEANUP
198
199
200 AT_SETUP([ONEWAY with missing values])
201 AT_KEYWORDS([categorical categoricals])
202 dnl Check that missing are treated properly
203 AT_DATA([oneway-missing1.sps],
204 [DATA LIST NOTABLE LIST /v1 * v2 * dep * vn *.
205 BEGIN DATA
206 . .  1  4
207 3 3  1  2
208 2 2  1  2
209 1 1  1  2
210 1 1  1  2
211 4 4  1  2
212 5 5  2  2
213 2 2  2  2
214 4 4  2  2
215 2 2  2  2
216 3 3  2  2
217 7 7  3  2
218 4 4  3  2
219 5 5  3  2
220 3 3  3  2
221 6 6  3  2
222 END DATA
223
224 ONEWAY
225         v1 v2 BY dep
226         /STATISTICS descriptives homogeneity
227         /MISSING ANALYSIS 
228         .
229 ])
230
231 AT_DATA([oneway-missing2.sps],
232 [DATA LIST NOTABLE LIST /v1 * v2 * dep * vn * .
233 BEGIN DATA
234 4 .  1  2 
235 3 3  1  2
236 2 2  1  2
237 1 1  1  2
238 1 1  1  2
239 4 4  1  2
240 5 5  2  2
241 2 2  2  2
242 4 4  2  2
243 2 2  2  2
244 3 3  2  2
245 7 7  3  2
246 4 4  3  2
247 5 5  3  2
248 3 3  3  2
249 6 6  3  2
250 END DATA
251
252 ONEWAY
253         v1 v2 BY dep
254         /STATISTICS descriptives homogeneity
255         /MISSING LISTWISE
256         .
257 ])
258
259
260
261 AT_CHECK([pspp -O format=csv oneway-missing1.sps > first.out], [0])
262
263 AT_CHECK([pspp -O format=csv oneway-missing2.sps > second.out], [0])
264
265 AT_CHECK([diff first.out second.out], [0], [])
266
267 dnl Now a test with missing values in the independent variable
268 AT_DATA([oneway-missing3.sps],
269 [DATA LIST NOTABLE LIST /v1 * v2 * dep * vn * .
270 BEGIN DATA
271 4 2  .  2 
272 3 3  1  2
273 2 2  1  2
274 1 1  1  2
275 1 1  1  2
276 4 4  1  2
277 5 5  2  2
278 2 2  2  2
279 4 4  2  2
280 2 2  2  2
281 3 3  2  2
282 7 7  3  2
283 4 4  3  2
284 5 5  3  4
285 3 3  3  2
286 6 6  3  2
287 END DATA
288
289 ONEWAY
290         v1 v2 BY dep
291         /STATISTICS descriptives homogeneity
292         /MISSING ANALYSIS
293         .
294 ])
295
296 AT_CHECK([pspp -O format=csv oneway-missing3.sps > third.out], [0])
297
298 AT_CHECK([diff first.out third.out], [0], [])
299
300 AT_CLEANUP
301
302
303
304
305
306 AT_SETUP([ONEWAY descriptives subcommand])
307 AT_KEYWORDS([categorical categoricals])
308
309 AT_DATA([oneway-descriptives.sps],
310   [DATA LIST NOTABLE LIST /QUALITY * BRAND * .
311 BEGIN DATA
312 13 11
313 12 11
314 11 11
315 11 11
316 14 11
317 15 25
318 12 25
319 14 25
320 12 25
321 13 25
322 17  301
323 14  301
324 15  301
325 13  301
326 16  301
327 END DATA
328
329
330 ONEWAY
331         quality BY brand
332         /STATISTICS descriptives
333         .
334 ])
335
336 AT_CHECK([pspp -O format=csv oneway-descriptives.sps], [0], 
337 [Table: Descriptives
338 ,,N,Mean,Std. Deviation,Std. Error,95% Confidence Interval for Mean,,Minimum,Maximum
339 ,BRAND,,,,,Lower Bound,Upper Bound,,
340 QUALITY,11.00,5,12.20,1.30,.58,10.58,13.82,11.00,14.00
341 ,25.00,5,13.20,1.30,.58,11.58,14.82,12.00,15.00
342 ,301.00,5,15.00,1.58,.71,13.04,16.96,13.00,17.00
343 ,Total,15,13.47,1.77,.46,12.49,14.45,11.00,17.00
344
345 Table: ANOVA
346 ,,Sum of Squares,df,Mean Square,F,Sig.
347 QUALITY,Between Groups,20.13,2,10.07,5.12,.025
348 ,Within Groups,23.60,12,1.97,,
349 ,Total,43.73,14,,,
350 ])
351
352 AT_CLEANUP
353
354
355
356 AT_SETUP([ONEWAY homogeneity subcommand])
357 AT_KEYWORDS([categorical categoricals])
358
359 AT_DATA([oneway-homogeneity.sps],
360   [DATA LIST NOTABLE LIST /QUALITY * BRAND * .
361 BEGIN DATA
362 13 11
363 12 11
364 11 11
365 11 11
366 14 11
367 15 25
368 12 25
369 14 25
370 12 25
371 13 25
372 17  301
373 14  301
374 15  301
375 13  301
376 16  301
377 END DATA
378
379
380 ONEWAY
381         quality BY brand
382         /STATISTICS homogeneity
383         .
384 ])
385
386 AT_CHECK([pspp -O format=csv oneway-homogeneity.sps], [0], 
387 [Table: Test of Homogeneity of Variances
388 ,Levene Statistic,df1,df2,Sig.
389 QUALITY,.09,2,12,.913
390
391 Table: ANOVA
392 ,,Sum of Squares,df,Mean Square,F,Sig.
393 QUALITY,Between Groups,20.13,2,10.07,5.12,.025
394 ,Within Groups,23.60,12,1.97,,
395 ,Total,43.73,14,,,
396 ])
397
398 AT_CLEANUP
399
400
401
402 AT_SETUP([ONEWAY multiple variables])
403 AT_KEYWORDS([categorical categoricals])
404 dnl check that everything works ok when several different dependent variables are specified.
405 dnl This of course does not mean that we're doing a multivariate analysis.  It's just like
406 dnl running several tests at once.
407 AT_DATA([multivar.sps],
408 [DATA LIST notable LIST /x * y * z * g *.
409 begin data.
410 1 1 0 10
411 1 1 9 10
412 9 1 2 10
413 1 1 3 20
414 1 1 8 20
415 1 1 1 20
416 1 1 2 20
417 0 1 3 20
418 1 1 4 30
419 0 1 5 30
420 1 1 6 30
421 0 1 7 30
422 1 2 8 30
423 2 2 9 30
424 1 2 1 30
425 1 2 0 30
426 1 2 2 40
427 8 2 3 40
428 1 2 4 40
429 1 2 9 40
430 9 2 8 40
431 7 3 7 40
432 2 3 6 40
433 3 3 5 40
434 end data.
435
436 ONEWAY x y z by g
437         /STATISTICS = DESCRIPTIVES HOMOGENEITY
438         /CONTRAST 3  2 0 -5
439         /CONTRAST 2 -9 7  0
440         .
441 ])
442
443 AT_CHECK([pspp -o pspp.csv -o pspp.txt multivar.sps])
444
445 dnl Some machines return 3.88 instead of 3.87 below (see bug #31611).
446 AT_CHECK([sed 's/^,Within Groups,3.88/,Within Groups,3.87/' pspp.csv], [0],
447   [Table: Descriptives
448 ,,N,Mean,Std. Deviation,Std. Error,95% Confidence Interval for Mean,,Minimum,Maximum
449 ,g,,,,,Lower Bound,Upper Bound,,
450 x,10.00,3,3.67,4.62,2.67,-7.81,15.14,1.00,9.00
451 ,20.00,5,.80,.45,.20,.24,1.36,.00,1.00
452 ,30.00,8,.88,.64,.23,.34,1.41,.00,2.00
453 ,40.00,8,4.00,3.42,1.21,1.14,6.86,1.00,9.00
454 ,Total,24,2.25,2.83,.58,1.05,3.45,.00,9.00
455 y,10.00,3,1.00,.00,.00,1.00,1.00,1.00,1.00
456 ,20.00,5,1.00,.00,.00,1.00,1.00,1.00,1.00
457 ,30.00,8,1.50,.53,.19,1.05,1.95,1.00,2.00
458 ,40.00,8,2.38,.52,.18,1.94,2.81,2.00,3.00
459 ,Total,24,1.63,.71,.15,1.32,1.93,1.00,3.00
460 z,10.00,3,3.67,4.73,2.73,-8.07,15.41,.00,9.00
461 ,20.00,5,3.40,2.70,1.21,.05,6.75,1.00,8.00
462 ,30.00,8,5.00,3.21,1.13,2.32,7.68,.00,9.00
463 ,40.00,8,5.50,2.45,.87,3.45,7.55,2.00,9.00
464 ,Total,24,4.67,2.99,.61,3.40,5.93,.00,9.00
465
466 Table: Test of Homogeneity of Variances
467 ,Levene Statistic,df1,df2,Sig.
468 x,18.76,3,20,.000
469 y,71.41,3,20,.000
470 z,.89,3,20,.463
471
472 Table: ANOVA
473 ,,Sum of Squares,df,Mean Square,F,Sig.
474 x,Between Groups,56.16,3,18.72,2.92,.059
475 ,Within Groups,128.34,20,6.42,,
476 ,Total,184.50,23,,,
477 y,Between Groups,7.75,3,2.58,13.33,.000
478 ,Within Groups,3.87,20,.19,,
479 ,Total,11.63,23,,,
480 z,Between Groups,17.47,3,5.82,.62,.610
481 ,Within Groups,187.87,20,9.39,,
482 ,Total,205.33,23,,,
483
484 Table: Contrast Coefficients
485 ,g,,,
486 Contrast,10.00,20.00,30.00,40.00
487 1,3,2,0,-5
488 2,2,-9,7,0
489
490 Table: Contrast Tests
491 ,,Contrast,Value of Contrast,Std. Error,t,df,Sig. (2-tailed)
492 x,Assume equal variances,1,-7.40,6.67,1.11,20.00,.280
493 ,,2,6.26,12.32,.51,20.00,.617
494 ,Does not assume equal variances,1,-7.40,10.04,-.74,4.53,1.503
495 ,,2,6.26,5.85,1.07,2.87,.366
496 y,Assume equal variances,1,-6.88,1.16,5.94,20.00,.000
497 ,,2,3.50,2.14,1.63,20.00,.118
498 ,Does not assume equal variances,1,-6.88,.91,-7.51,7.00,2.000
499 ,,2,3.50,1.32,2.65,7.00,.033
500 z,Assume equal variances,1,-9.70,8.07,1.20,20.00,.243
501 ,,2,11.73,14.91,.79,20.00,.440
502 ,Does not assume equal variances,1,-9.70,9.57,-1.01,3.64,1.627
503 ,,2,11.73,14.53,.81,9.88,.438
504 ])
505
506 AT_CLEANUP
507
508
509
510 dnl Tests that everything treats weights properly
511 AT_SETUP([ONEWAY vs. weights])
512 AT_KEYWORDS([categorical categoricals])
513
514 AT_DATA([oneway-unweighted.sps],
515 [DATA LIST NOTABLE LIST /QUALITY * BRAND * W *.
516 BEGIN DATA
517 3  1   1
518 2  1   1
519 1  1   1
520 1  1   1
521 4  1   1
522 5  2   1
523 2  2   1
524 4  2   1
525 4  2   1
526 4  2   1
527 2  2   1
528 2  2   1
529 3  2   1
530 7  3   1
531 4  3   1
532 5  3   1
533 5  3   1
534 3  3   1
535 6  3   1
536 END DATA.
537
538 WEIGHT BY W.
539
540 ONEWAY
541         quality BY brand
542         /STATISTICS descriptives homogeneity
543         .
544 ])
545
546 AT_CHECK([pspp -o pspp-unweighted.csv oneway-unweighted.sps], [0], [ignore], [ignore])
547
548 AT_DATA([oneway-weighted.sps],
549 [DATA LIST NOTABLE LIST /QUALITY * BRAND * W *.
550 BEGIN DATA
551 3  1   1
552 2  1   1
553 1  1   2
554 4  1   1
555 5  2   1
556 2  2   1
557 4  2   3
558 2  2   2
559 3  2   1
560 7  3   1
561 4  3   1
562 5  3   2
563 3  3   1
564 6  3   1
565 END DATA.
566
567 WEIGHT BY W.
568
569 ONEWAY
570         quality BY brand
571         /STATISTICS descriptives homogeneity
572         .
573 ])
574
575 AT_CHECK([pspp -o pspp-weighted.csv oneway-weighted.sps], [0], [ignore], [ignore])
576
577 AT_CHECK([diff pspp-weighted.csv pspp-unweighted.csv], [0])
578
579 AT_CLEANUP
580
581
582
583 AT_SETUP([ONEWAY posthoc LSD and BONFERRONI])
584 AT_KEYWORDS([categorical categoricals])
585 AT_DATA([oneway-pig.sps],[dnl
586 SET FORMAT F12.3.
587 data list notable list /pigmentation * family *.
588 begin data.
589 36 1
590 39 1
591 43 1
592 38 1
593 37 1
594 46 2
595 47 2
596 47 2
597 47 2
598 43 2
599 40 3
600 50 3
601 44 3
602 48 3
603 50 3
604 45 4
605 53 4
606 56 4
607 52 4
608 56 4
609 end data.
610
611
612 oneway pigmentation by family
613         /statistics = descriptives
614         /posthoc = lsd bonferroni alpha (0.05)
615          .
616 ])
617
618 AT_CHECK([pspp -o pspp.csv -o pspp.txt oneway-pig.sps])
619 AT_CHECK([cat pspp.csv], [0], [dnl
620 Table: Descriptives
621 ,,N,Mean,Std. Deviation,Std. Error,95% Confidence Interval for Mean,,Minimum,Maximum
622 ,family,,,,,Lower Bound,Upper Bound,,
623 pigmentation,1.000,5,38.600,2.702,1.208,35.245,41.955,36.000,43.000
624 ,2.000,5,46.000,1.732,.775,43.849,48.151,43.000,47.000
625 ,3.000,5,46.400,4.336,1.939,41.016,51.784,40.000,50.000
626 ,4.000,5,52.400,4.506,2.015,46.806,57.994,45.000,56.000
627 ,Total,20,45.850,5.967,1.334,43.057,48.643,36.000,56.000
628
629 Table: ANOVA
630 ,,Sum of Squares,df,Mean Square,F,Sig.
631 pigmentation,Between Groups,478.950,3,159.650,12.927,.000
632 ,Within Groups,197.600,16,12.350,,
633 ,Total,676.550,19,,,
634
635 Table: Multiple Comparisons (pigmentation)
636 ,,,Mean Difference (I - J),Std. Error,Sig.,95% Confidence Interval,
637 ,(J) Family,(J) Family,,,,Lower Bound,Upper Bound
638 LSD,1.000,2.000,-7.400,2.223,.004,-12.112,-2.688
639 ,,3.000,-7.800,2.223,.003,-12.512,-3.088
640 ,,4.000,-13.800,2.223,.000,-18.512,-9.088
641 ,2.000,1.000,7.400,2.223,.004,2.688,12.112
642 ,,3.000,-.400,2.223,.859,-5.112,4.312
643 ,,4.000,-6.400,2.223,.011,-11.112,-1.688
644 ,3.000,1.000,7.800,2.223,.003,3.088,12.512
645 ,,2.000,.400,2.223,.859,-4.312,5.112
646 ,,4.000,-6.000,2.223,.016,-10.712,-1.288
647 ,4.000,1.000,13.800,2.223,.000,9.088,18.512
648 ,,2.000,6.400,2.223,.011,1.688,11.112
649 ,,3.000,6.000,2.223,.016,1.288,10.712
650 Bonferroni,1.000,2.000,-7.400,2.223,.025,-14.086,-.714
651 ,,3.000,-7.800,2.223,.017,-14.486,-1.114
652 ,,4.000,-13.800,2.223,.000,-20.486,-7.114
653 ,2.000,1.000,7.400,2.223,.025,.714,14.086
654 ,,3.000,-.400,2.223,1.000,-7.086,6.286
655 ,,4.000,-6.400,2.223,.065,-13.086,.286
656 ,3.000,1.000,7.800,2.223,.017,1.114,14.486
657 ,,2.000,.400,2.223,1.000,-6.286,7.086
658 ,,4.000,-6.000,2.223,.095,-12.686,.686
659 ,4.000,1.000,13.800,2.223,.000,7.114,20.486
660 ,,2.000,6.400,2.223,.065,-.286,13.086
661 ,,3.000,6.000,2.223,.095,-.686,12.686
662 ])
663 AT_CLEANUP
664
665
666 AT_SETUP([ONEWAY posthoc Tukey HSD and Games-Howell])
667 AT_KEYWORDS([categorical categoricals])
668 AT_DATA([oneway-tukey.sps],[dnl
669 set format = f11.3.
670 data list notable list /libido * dose *.
671 begin data.
672 3 0
673 2 0
674 1 0
675 1 0
676 4 0
677 5 1
678 2 1
679 4 1
680 2 1
681 3 1
682 7 2
683 4 2
684 5 2
685 3 2
686 6 2
687 end data.
688
689 variable label dose 'Dose of Viagra'.
690
691 add value labels dose 0 'Placebo' 1 '1 Dose' 2 '2 Doses'.
692
693 oneway libido by dose
694         /posthoc tukey gh.
695 ])
696
697 AT_CHECK([pspp -o pspp.csv -o pspp.txt oneway-tukey.sps])
698 AT_CHECK([cat pspp.csv], [0], [dnl
699 Table: ANOVA
700 ,,Sum of Squares,df,Mean Square,F,Sig.
701 libido,Between Groups,20.133,2,10.067,5.119,.025
702 ,Within Groups,23.600,12,1.967,,
703 ,Total,43.733,14,,,
704
705 Table: Multiple Comparisons (libido)
706 ,,,Mean Difference (I - J),Std. Error,Sig.,95% Confidence Interval,
707 ,(J) Family,(J) Family,,,,Lower Bound,Upper Bound
708 Tukey HSD,Placebo,1 Dose,-1.000,.887,.516,-3.366,1.366
709 ,,2 Doses,-2.800,.887,.021,-5.166,-.434
710 ,1 Dose,Placebo,1.000,.887,.516,-1.366,3.366
711 ,,2 Doses,-1.800,.887,.147,-4.166,.566
712 ,2 Doses,Placebo,2.800,.887,.021,.434,5.166
713 ,,1 Dose,1.800,.887,.147,-.566,4.166
714 Games-Howell,Placebo,,-1.000,.887,.479,-3.356,1.356
715 ,,2 Doses,-2.800,.887,.039,-5.439,-.161
716 ,1 Dose,Placebo,1.000,.887,.479,-1.356,3.356
717 ,,2 Doses,-1.800,.887,.185,-4.439,.839
718 ,2 Doses,Placebo,2.800,.887,.039,.161,5.439
719 ,,1 Dose,1.800,.887,.185,-.839,4.439
720 ])
721
722 AT_CLEANUP
723
724 AT_SETUP([ONEWAY posthoc Sidak])
725 AT_KEYWORDS([categorical categoricals])
726 AT_DATA([oneway-sidak.sps],[dnl
727 SET FORMAT F20.4.
728
729 DATA LIST notable LIST /program score.
730 BEGIN DATA.
731 1   9
732 1  12
733 1  14
734 1  11
735 1  13
736 2  10
737 2   6
738 2   9
739 2   9
740 2  10
741 3  12
742 3  14
743 3  11
744 3  13
745 3  11
746 4   9
747 4   8
748 4  11
749 4   7
750 4   8
751 END DATA.
752
753 ONEWAY
754   score BY program
755   /MISSING ANALYSIS
756   /POSTHOC = SIDAK.
757 ])
758
759 AT_CHECK([pspp -O format=csv oneway-sidak.sps], [0], 
760 [Table: ANOVA
761 ,,Sum of Squares,df,Mean Square,F,Sig.
762 score,Between Groups,54.9500,3,18.3167,7.0449,.003
763 ,Within Groups,41.6000,16,2.6000,,
764 ,Total,96.5500,19,,,
765
766 Table: Multiple Comparisons (score)
767 ,,,Mean Difference (I - J),Std. Error,Sig.,95% Confidence Interval,
768 ,(J) Family,(J) Family,,,,Lower Bound,Upper Bound
769 Šidák,1.0000,2.0000,3.0000,1.0198,.056,-.0575,6.0575
770 ,,3.0000,-.4000,1.0198,.999,-3.4575,2.6575
771 ,,4.0000,3.2000,1.0198,.038,.1425,6.2575
772 ,2.0000,1.0000,-3.0000,1.0198,.056,-6.0575,.0575
773 ,,3.0000,-3.4000,1.0198,.025,-6.4575,-.3425
774 ,,4.0000,.2000,1.0198,1.000,-2.8575,3.2575
775 ,3.0000,1.0000,.4000,1.0198,.999,-2.6575,3.4575
776 ,,2.0000,3.4000,1.0198,.025,.3425,6.4575
777 ,,4.0000,3.6000,1.0198,.017,.5425,6.6575
778 ,4.0000,1.0000,-3.2000,1.0198,.038,-6.2575,-.1425
779 ,,2.0000,-.2000,1.0198,1.000,-3.2575,2.8575
780 ,,3.0000,-3.6000,1.0198,.017,-6.6575,-.5425
781 ])
782
783 AT_CLEANUP
784
785 AT_SETUP([ONEWAY posthoc Scheffe])
786 AT_KEYWORDS([categorical categoricals])
787 AT_DATA([oneway-scheffe.sps],[dnl
788 set format = f11.3.
789 data list notable list /usage * group *.
790 begin data.
791 21.00     1
792 19.00     1
793 18.00     1
794 25.00     1
795 14.00     1
796 13.00     1
797 24.00     1
798 19.00     1
799 20.00     1
800 21.00     1
801 15.00     2
802 10.00     2
803 13.00     2
804 16.00     2
805 14.00     2
806 24.00     2
807 16.00     2
808 14.00     2
809 18.00     2
810 16.00     2
811 10.00     3
812  7.00     3
813 13.00     3
814 20.00     3
815   .00     3
816  8.00     3
817  6.00     3
818  1.00     3
819 12.00     3
820 14.00     3
821 18.00     4
822 15.00     4
823  3.00     4
824 27.00     4
825  6.00     4
826 14.00     4
827 13.00     4
828 11.00     4
829  9.00     4
830 18.00     4
831 end data.
832
833 variable label usage 'Days of Use'.
834
835 add value labels group 0 'none' 1 'one' 2 'two' 3 'three' 4 'four'.
836
837 oneway usage by group
838         /posthoc scheffe.
839 ])
840
841 AT_CHECK([pspp -O format=csv oneway-scheffe.sps], [0], 
842 [Table: ANOVA
843 ,,Sum of Squares,df,Mean Square,F,Sig.
844 Days of Use,Between Groups,555.275,3,185.092,6.663,.001
845 ,Within Groups,1000.100,36,27.781,,
846 ,Total,1555.375,39,,,
847
848 Table: Multiple Comparisons (Days of Use)
849 ,,,Mean Difference (I - J),Std. Error,Sig.,95% Confidence Interval,
850 ,(J) Family,(J) Family,,,,Lower Bound,Upper Bound
851 Scheffé,one,two,3.800,2.357,.467,-3.112,10.712
852 ,,three,10.300,2.357,.001,3.388,17.212
853 ,,four,6.000,2.357,.110,-.912,12.912
854 ,two,one,-3.800,2.357,.467,-10.712,3.112
855 ,,three,6.500,2.357,.072,-.412,13.412
856 ,,four,2.200,2.357,.832,-4.712,9.112
857 ,three,one,-10.300,2.357,.001,-17.212,-3.388
858 ,,two,-6.500,2.357,.072,-13.412,.412
859 ,,four,-4.300,2.357,.358,-11.212,2.612
860 ,four,one,-6.000,2.357,.110,-12.912,.912
861 ,,two,-2.200,2.357,.832,-9.112,4.712
862 ,,three,4.300,2.357,.358,-2.612,11.212
863 ])
864
865 AT_CLEANUP
866
867
868 AT_SETUP([ONEWAY bad contrast count])
869 AT_KEYWORDS([categorical categoricals])
870
871 AT_DATA([oneway-bad-contrast.sps],[dnl
872 DATA LIST NOTABLE LIST /height * weight * temperature * sex *.
873 BEGIN DATA.
874 1884     88.6       39.97     0
875 1801     90.9       39.03     0
876 1801     91.7       38.98     0
877 1607     56.3       36.26     1
878 1608     46.3       46.26     1
879 1607     55.9       37.84     1
880 1604     56.6       36.81     1
881 1606     56.1       34.56     1
882 END DATA.
883
884 ONEWAY /VARIABLES= height weight temperature BY sex
885  /CONTRAST = -1  1 
886  /CONTRAST = -3  3 
887  /CONTRAST =  2 -2  1
888  /CONTRAST = -9  9
889  . 
890 ])
891
892
893 AT_CHECK([pspp -o pspp.csv -o pspp.txt oneway-bad-contrast.sps], [0], [dnl
894 oneway-bad-contrast.sps:18: warning: ONEWAY: In contrast list 3, the number of coefficients (3) does not equal the number of groups (2). This contrast list will be ignored.
895 ])
896 AT_CHECK([cat pspp.csv], [0], [dnl
897 "oneway-bad-contrast.sps:18: warning: ONEWAY: In contrast list 3, the number of coefficients (3) does not equal the number of groups (2). This contrast list will be ignored."
898
899 Table: ANOVA
900 ,,Sum of Squares,df,Mean Square,F,Sig.
901 height,Between Groups,92629.63,1,92629.63,120.77,.000
902 ,Within Groups,4601.87,6,766.98,,
903 ,Total,97231.50,7,,,
904 weight,Between Groups,2451.65,1,2451.65,174.59,.000
905 ,Within Groups,84.25,6,14.04,,
906 ,Total,2535.90,7,,,
907 temperature,Between Groups,1.80,1,1.80,.13,.733
908 ,Within Groups,84.55,6,14.09,,
909 ,Total,86.36,7,,,
910
911 Table: Contrast Coefficients
912 ,sex,
913 Contrast,.00,1.00
914 1,-1,1
915 2,-3,3
916 3,-9,9
917
918 Table: Contrast Tests
919 ,,Contrast,Value of Contrast,Std. Error,t,df,Sig. (2-tailed)
920 height,Assume equal variances,1,-222.27,20.23,10.99,6.00,.000
921 ,,2,-666.80,60.68,10.99,6.00,.000
922 ,,3,-2000.40,182.03,10.99,6.00,.000
923 ,Does not assume equal variances,1,-222.27,27.67,-8.03,2.00,1.985
924 ,,2,-666.80,83.02,-8.03,2.00,1.985
925 ,,3,-2000.40,249.07,-8.03,2.00,1.985
926 weight,Assume equal variances,1,-36.16,2.74,13.21,6.00,.000
927 ,,2,-108.48,8.21,13.21,6.00,.000
928 ,,3,-325.44,24.63,13.21,6.00,.000
929 ,Does not assume equal variances,1,-36.16,2.19,-16.48,5.42,2.000
930 ,,2,-108.48,6.58,-16.48,5.42,2.000
931 ,,3,-325.44,19.75,-16.48,5.42,2.000
932 temperature,Assume equal variances,1,-.98,2.74,.36,6.00,.733
933 ,,2,-2.94,8.22,.36,6.00,.733
934 ,,3,-8.83,24.67,.36,6.00,.733
935 ,Does not assume equal variances,1,-.98,2.07,-.47,4.19,1.340
936 ,,2,-2.94,6.22,-.47,4.19,1.340
937 ,,3,-8.83,18.66,-.47,4.19,1.340
938 ])
939 AT_CLEANUP
940
941
942 AT_SETUP([ONEWAY crash on single category independent variable])
943 AT_KEYWORDS([categorical categoricals])
944 AT_DATA([crash.sps],[
945 input program.
946 loop #i = 1 to 10.
947 compute test = #i.
948 end case.
949 end loop.
950 end file.
951 end input program.
952
953 compute x = 1.
954
955 oneway test by x.
956 ])
957
958 AT_CHECK([pspp -O format=csv crash.sps], [0], [ignore])
959
960 AT_CLEANUP
961
962
963
964 AT_SETUP([ONEWAY crash on missing dependent variable])
965 AT_KEYWORDS([categorical categoricals])
966 AT_DATA([crash2.sps],[dnl
967 data list notable list /dv1 * dv2  *  y * .
968 begin data.
969 2  .  2     
970 1  .  2 
971 1  .  1    
972 2  .  4    
973 3  .  4
974 4  .  4    
975 5  .  4    
976 end data.
977
978 ONEWAY 
979        /VARIABLES= dv1 dv2  BY y
980        /STATISTICS = DESCRIPTIVES
981        /POSTHOC = BONFERRONI LSD SCHEFFE SIDAK TUKEY
982        /MISSING = ANALYSIS      
983        .
984 ])
985
986 AT_CHECK([pspp -O format=csv crash2.sps], [0], [ignore])
987
988 AT_CLEANUP
989
990
991
992
993 AT_SETUP([ONEWAY Games-Howell test with few cases])
994 AT_KEYWORDS([categorical categoricals])
995 AT_DATA([crash3.sps],[dnl
996 data list notable list /dv * y * .
997 begin data.
998 2 2
999 1 2
1000 1 1
1001 2 4
1002 3 4
1003 end data.
1004
1005 ONEWAY
1006  /VARIABLES= dv BY y
1007  /POSTHOC = GH
1008  . 
1009 ])
1010
1011 AT_CHECK([pspp -O format=csv crash3.sps], [0], [ignore])
1012
1013 AT_CLEANUP
1014
1015
1016 AT_SETUP([ONEWAY Crash on empty data])
1017 AT_KEYWORDS([categorical categoricals])
1018 AT_DATA([crash4.sps],[dnl
1019 DATA LIST NOTABLE LIST /height * weight * temperature * sex *.
1020 BEGIN DATA.
1021 1801     .       .     0
1022 1606     .       .     1
1023 END DATA.
1024
1025 ONEWAY /VARIABLES= height weight temperature BY sex
1026  /CONTRAST = -1  1
1027  /CONTRAST = -3  3
1028  /CONTRAST =  2 -2  1
1029  /CONTRAST = -9  9
1030  .
1031 ])
1032
1033 AT_CHECK([pspp -O format=csv crash4.sps], [0], [ignore])
1034
1035 AT_CLEANUP
1036
1037
1038
1039 AT_SETUP([ONEWAY Crash on invalid dependent variable])
1040 AT_KEYWORDS([categorical categoricals])
1041 AT_DATA([crash5.sps],[dnl
1042 data list notable list /a * b *.
1043 begin data.
1044 3 0
1045 2 0
1046 6 2
1047 end data.
1048
1049 oneway a"by b.
1050
1051 ])
1052
1053 AT_CHECK([pspp -O format=csv crash5.sps], [1], [ignore])
1054
1055 AT_CLEANUP
1056
1057
1058
1059
1060 AT_SETUP([ONEWAY Crash on unterminated string])
1061 AT_KEYWORDS([categorical categoricals])
1062
1063 AT_DATA([crash6.sps], [dnl
1064 DATA LIST NOTABLE LIST /height * weight * temperature * sex *.
1065 BEGIN DATA.
1066 1801     .       .     0
1067 1606     .   0   .     1
1068 END DATA.
1069
1070 ONEWAY /VARIABLES= height weight temperature BY sex
1071  /CONTRAST =" 2 -2  1
1072  .
1073 ])
1074
1075 AT_CHECK([pspp -O format=csv crash6.sps], [1], [ignore])
1076
1077 AT_CLEANUP