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