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