Implemented the McNemar test. Closes bug #33242
[pspp-builds.git] / tests / language / stats / oneway.at
1 AT_BANNER([ONEWAY procedure])
2
3 AT_SETUP([ONEWAY basic operation])
4 AT_DATA([oneway.sps],
5   [DATA LIST NOTABLE LIST /QUALITY * BRAND * .
6 BEGIN DATA
7 7  3
8 4  3
9 3  1
10 2  1
11 1  1
12 4  2
13 2  2
14 3  2
15 5  3
16 1  1
17 4  1
18 5  2
19 2  2
20 3  3
21 6  3
22 END DATA
23
24 VARIABLE LABELS brand 'Manufacturer'.
25 VARIABLE LABELS quality 'Breaking Strain'.
26
27 VALUE LABELS /brand 1 'Aspeger' 2 'Bloggs' 3 'Charlies'.
28
29 ONEWAY
30         quality BY brand
31         /STATISTICS descriptives homogeneity
32         /CONTRAST =  -2 1 1 
33         /CONTRAST = 0 -1 1
34         .
35 ])
36
37 AT_CHECK([pspp -O format=csv oneway.sps], [0], 
38 [Table: Descriptives
39 ,,,,,,95% Confidence Interval for Mean,,,
40 ,,N,Mean,Std. Deviation,Std. Error,Lower Bound,Upper Bound,Minimum,Maximum
41 Breaking Strain,Aspeger,5,2.20,1.30,.58,.58,3.82,1.00,4.00
42 ,Bloggs,5,3.20,1.30,.58,1.58,4.82,2.00,5.00
43 ,Charlies,5,5.00,1.58,.71,3.04,6.96,3.00,7.00
44 ,Total,15,3.47,1.77,.46,2.49,4.45,1.00,7.00
45
46 Table: Test of Homogeneity of Variances
47 ,Levene Statistic,df1,df2,Significance
48 Breaking Strain,.09,2,12,.91
49
50 Table: ANOVA
51 ,,Sum of Squares,df,Mean Square,F,Significance
52 Breaking Strain,Between Groups,20.13,2,10.07,5.12,.02
53 ,Within Groups,23.60,12,1.97,,
54 ,Total,43.73,14,,,
55
56 Table: Contrast Coefficients
57 ,,Manufacturer,,
58 ,,Aspeger,Bloggs,Charlies
59 Contrast,1,-2,1,1
60 ,2,0,-1,1
61
62 Table: Contrast Tests
63 ,,Contrast,Value of Contrast,Std. Error,t,df,Sig. (2-tailed)
64 Breaking Strain,Assume equal variances,1,3.80,1.54,2.47,12,.03
65 ,,2,1.80,.89,2.03,12,.07
66 ,Does not assume equal,1,3.80,1.48,2.56,8.74,.03
67 ,,2,1.80,.92,1.96,7.72,.09
68 ])
69 AT_CLEANUP
70
71
72 AT_SETUP([ONEWAY with splits])
73 AT_DATA([oneway-splits.sps],
74 [DATA LIST NOTABLE LIST /QUALITY * BRAND * S *.
75 BEGIN DATA
76 3 1 1
77 2 1 1
78 1 1 1
79 1 1 1
80 4 1 1
81 5 2 1
82 2 2 1
83 4 2 2
84 2 2 2
85 3 2 2
86 7  3 2
87 4  3 2
88 5  3 2
89 3  3 2
90 6  3 2
91 END DATA
92
93 VARIABLE LABELS brand 'Manufacturer'.
94 VARIABLE LABELS quality 'Breaking Strain'.
95
96 VALUE LABELS /brand 1 'Aspeger' 2 'Bloggs' 3 'Charlies'.
97
98 SPLIT FILE by s.
99
100 ONEWAY
101         quality BY brand
102         /STATISTICS descriptives homogeneity
103         /CONTRAST =  -2 2
104         /CONTRAST = -1 1
105         .
106 ])
107
108 AT_CHECK([pspp -O format=csv oneway-splits.sps], [0], 
109 [Variable,Value,Label
110 S,1.00,
111
112 Table: Descriptives
113 ,,,,,,95% Confidence Interval for Mean,,,
114 ,,N,Mean,Std. Deviation,Std. Error,Lower Bound,Upper Bound,Minimum,Maximum
115 Breaking Strain,Aspeger,5,2.20,1.30,.58,.58,3.82,1.00,4.00
116 ,Bloggs,2,3.50,2.12,1.50,-15.56,22.56,2.00,5.00
117 ,Total,7,2.57,1.51,.57,1.17,3.97,1.00,5.00
118
119 Table: Test of Homogeneity of Variances
120 ,Levene Statistic,df1,df2,Significance
121 Breaking Strain,1.09,1,5,.35
122
123 Table: ANOVA
124 ,,Sum of Squares,df,Mean Square,F,Significance
125 Breaking Strain,Between Groups,2.41,1,2.41,1.07,.35
126 ,Within Groups,11.30,5,2.26,,
127 ,Total,13.71,6,,,
128
129 Table: Contrast Coefficients
130 ,,Manufacturer,
131 ,,Aspeger,Bloggs
132 Contrast,1,-2,2
133 ,2,-1,1
134
135 Table: Contrast Tests
136 ,,Contrast,Value of Contrast,Std. Error,t,df,Sig. (2-tailed)
137 Breaking Strain,Assume equal variances,1,2.60,2.52,1.03,5,.35
138 ,,2,1.30,1.26,1.03,5,.35
139 ,Does not assume equal,1,2.60,3.22,.81,1.32,.54
140 ,,2,1.30,1.61,.81,1.32,.54
141
142 Variable,Value,Label
143 S,2.00,
144
145 Table: Descriptives
146 ,,,,,,95% Confidence Interval for Mean,,,
147 ,,N,Mean,Std. Deviation,Std. Error,Lower Bound,Upper Bound,Minimum,Maximum
148 Breaking Strain,Bloggs,3,3.00,1.00,.58,.52,5.48,2.00,4.00
149 ,Charlies,5,5.00,1.58,.71,3.04,6.96,3.00,7.00
150 ,Total,8,4.25,1.67,.59,2.85,5.65,2.00,7.00
151
152 Table: Test of Homogeneity of Variances
153 ,Levene Statistic,df1,df2,Significance
154 Breaking Strain,.92,1,6,.37
155
156 Table: ANOVA
157 ,,Sum of Squares,df,Mean Square,F,Significance
158 Breaking Strain,Between Groups,7.50,1,7.50,3.75,.10
159 ,Within Groups,12.00,6,2.00,,
160 ,Total,19.50,7,,,
161
162 Table: Contrast Coefficients
163 ,,Manufacturer,
164 ,,Bloggs,Charlies
165 Contrast,1,-2,2
166 ,2,-1,1
167
168 Table: Contrast Tests
169 ,,Contrast,Value of Contrast,Std. Error,t,df,Sig. (2-tailed)
170 Breaking Strain,Assume equal variances,1,4.00,2.07,1.94,6,.10
171 ,,2,2.00,1.03,1.94,6,.10
172 ,Does not assume equal,1,4.00,1.83,2.19,5.88,.07
173 ,,2,2.00,.91,2.19,5.88,.07
174 ])
175
176 AT_CLEANUP
177
178
179 AT_SETUP([ONEWAY with missing values])
180 dnl Check that missing are treated properly
181 AT_DATA([oneway-missing1.sps],
182 [DATA LIST NOTABLE LIST /v1 * v2 * dep * vn *.
183 BEGIN DATA
184 . .  1  4
185 3 3  1  2
186 2 2  1  2
187 1 1  1  2
188 1 1  1  2
189 4 4  1  2
190 5 5  2  2
191 2 2  2  2
192 4 4  2  2
193 2 2  2  2
194 3 3  2  2
195 7 7  3  2
196 4 4  3  2
197 5 5  3  2
198 3 3  3  2
199 6 6  3  2
200 END DATA
201
202 ONEWAY
203         v1 v2 BY dep
204         /STATISTICS descriptives homogeneity
205         /MISSING ANALYSIS 
206         .
207 ])
208
209 AT_DATA([oneway-missing2.sps],
210 [DATA LIST NOTABLE LIST /v1 * v2 * dep * vn * .
211 BEGIN DATA
212 4 .  1  2 
213 3 3  1  2
214 2 2  1  2
215 1 1  1  2
216 1 1  1  2
217 4 4  1  2
218 5 5  2  2
219 2 2  2  2
220 4 4  2  2
221 2 2  2  2
222 3 3  2  2
223 7 7  3  2
224 4 4  3  2
225 5 5  3  2
226 3 3  3  2
227 6 6  3  2
228 END DATA
229
230 ONEWAY
231         v1 v2 BY dep
232         /STATISTICS descriptives homogeneity
233         /MISSING LISTWISE
234         .
235 ])
236
237
238
239 AT_CHECK([pspp -O format=csv oneway-missing1.sps > first.out], [0])
240
241 AT_CHECK([pspp -O format=csv oneway-missing2.sps > second.out], [0])
242
243 AT_CHECK([diff first.out second.out], [0], [])
244
245 dnl Now a test with missing values in the independent variable
246 AT_DATA([oneway-missing3.sps],
247 [DATA LIST NOTABLE LIST /v1 * v2 * dep * vn * .
248 BEGIN DATA
249 4 2  .  2 
250 3 3  1  2
251 2 2  1  2
252 1 1  1  2
253 1 1  1  2
254 4 4  1  2
255 5 5  2  2
256 2 2  2  2
257 4 4  2  2
258 2 2  2  2
259 3 3  2  2
260 7 7  3  2
261 4 4  3  2
262 5 5  3  4
263 3 3  3  2
264 6 6  3  2
265 END DATA
266
267 ONEWAY
268         v1 v2 BY dep
269         /STATISTICS descriptives homogeneity
270         /MISSING ANALYSIS
271         .
272 ])
273
274 AT_CHECK([pspp -O format=csv oneway-missing3.sps > third.out], [0])
275
276 AT_CHECK([diff first.out third.out], [0], [])
277
278 AT_CLEANUP
279
280
281
282
283
284 AT_SETUP([ONEWAY descriptives subcommand])
285
286 AT_DATA([oneway-descriptives.sps],
287   [DATA LIST NOTABLE LIST /QUALITY * BRAND * .
288 BEGIN DATA
289 13 11
290 12 11
291 11 11
292 11 11
293 14 11
294 15 25
295 12 25
296 14 25
297 12 25
298 13 25
299 17  301
300 14  301
301 15  301
302 13  301
303 16  301
304 END DATA
305
306
307 ONEWAY
308         quality BY brand
309         /STATISTICS descriptives
310         .
311 ])
312
313 AT_CHECK([pspp -O format=csv oneway-descriptives.sps], [0], 
314 [Table: Descriptives
315 ,,,,,,95% Confidence Interval for Mean,,,
316 ,,N,Mean,Std. Deviation,Std. Error,Lower Bound,Upper Bound,Minimum,Maximum
317 QUALITY,11.00,5,12.20,1.30,.58,10.58,13.82,11.00,14.00
318 ,25.00,5,13.20,1.30,.58,11.58,14.82,12.00,15.00
319 ,301.00,5,15.00,1.58,.71,13.04,16.96,13.00,17.00
320 ,Total,15,13.47,1.77,.46,12.49,14.45,11.00,17.00
321
322 Table: ANOVA
323 ,,Sum of Squares,df,Mean Square,F,Significance
324 QUALITY,Between Groups,20.13,2,10.07,5.12,.02
325 ,Within Groups,23.60,12,1.97,,
326 ,Total,43.73,14,,,
327 ])
328
329 AT_CLEANUP
330
331
332
333 AT_SETUP([ONEWAY homogeneity subcommand])
334
335 AT_DATA([oneway-homogeneity.sps],
336   [DATA LIST NOTABLE LIST /QUALITY * BRAND * .
337 BEGIN DATA
338 13 11
339 12 11
340 11 11
341 11 11
342 14 11
343 15 25
344 12 25
345 14 25
346 12 25
347 13 25
348 17  301
349 14  301
350 15  301
351 13  301
352 16  301
353 END DATA
354
355
356 ONEWAY
357         quality BY brand
358         /STATISTICS homogeneity
359         .
360 ])
361
362 AT_CHECK([pspp -O format=csv oneway-homogeneity.sps], [0], 
363 [Table: Test of Homogeneity of Variances
364 ,Levene Statistic,df1,df2,Significance
365 QUALITY,.09,2,12,.91
366
367 Table: ANOVA
368 ,,Sum of Squares,df,Mean Square,F,Significance
369 QUALITY,Between Groups,20.13,2,10.07,5.12,.02
370 ,Within Groups,23.60,12,1.97,,
371 ,Total,43.73,14,,,
372 ])
373
374 AT_CLEANUP
375
376
377
378 AT_SETUP([ONEWAY multiple variables])
379 dnl check that everything works ok when several different dependent variables are specified.
380 dnl This of course does not mean that we're doing a multivariate analysis.  It's just like
381 dnl running several tests at once.
382 AT_DATA([multivar.sps],
383 [DATA LIST notable LIST /x * y * z * g *.
384 begin data.
385 1 1 0 10
386 1 1 9 10
387 9 1 2 10
388 1 1 3 20
389 1 1 8 20
390 1 1 1 20
391 1 1 2 20
392 0 1 3 20
393 1 1 4 30
394 0 1 5 30
395 1 1 6 30
396 0 1 7 30
397 1 2 8 30
398 2 2 9 30
399 1 2 1 30
400 1 2 0 30
401 1 2 2 40
402 8 2 3 40
403 1 2 4 40
404 1 2 9 40
405 9 2 8 40
406 7 3 7 40
407 2 3 6 40
408 3 3 5 40
409 end data.
410
411 ONEWAY x y z by g
412         /STATISTICS = DESCRIPTIVES HOMOGENEITY
413         /CONTRAST 3  2 0 -5
414         /CONTRAST 2 -9 7  0
415         .
416 ])
417 AT_CHECK([pspp -o pspp.csv multivar.sps])
418 dnl Some machines return 3.88 instead of 3.87 below (see bug #31611).
419 AT_CHECK([sed 's/^,Within Groups,3.88/,Within Groups,3.87/' pspp.csv], [0],
420 [Table: Descriptives
421 ,,,,,,95% Confidence Interval for Mean,,,
422 ,,N,Mean,Std. Deviation,Std. Error,Lower Bound,Upper Bound,Minimum,Maximum
423 x,10.00,3,3.67,4.62,2.67,-7.81,15.14,1.00,9.00
424 ,20.00,5,.80,.45,.20,.24,1.36,.00,1.00
425 ,30.00,8,.88,.64,.23,.34,1.41,.00,2.00
426 ,40.00,8,4.00,3.42,1.21,1.14,6.86,1.00,9.00
427 ,Total,24,2.25,2.83,.58,1.05,3.45,.00,9.00
428 y,10.00,3,1.00,.00,.00,1.00,1.00,1.00,1.00
429 ,20.00,5,1.00,.00,.00,1.00,1.00,1.00,1.00
430 ,30.00,8,1.50,.53,.19,1.05,1.95,1.00,2.00
431 ,40.00,8,2.38,.52,.18,1.94,2.81,2.00,3.00
432 ,Total,24,1.63,.71,.15,1.32,1.93,1.00,3.00
433 z,10.00,3,3.67,4.73,2.73,-8.07,15.41,.00,9.00
434 ,20.00,5,3.40,2.70,1.21,.05,6.75,1.00,8.00
435 ,30.00,8,5.00,3.21,1.13,2.32,7.68,.00,9.00
436 ,40.00,8,5.50,2.45,.87,3.45,7.55,2.00,9.00
437 ,Total,24,4.67,2.99,.61,3.40,5.93,.00,9.00
438
439 Table: Test of Homogeneity of Variances
440 ,Levene Statistic,df1,df2,Significance
441 x,18.76,3,20,.00
442 y,71.41,3,20,.00
443 z,.89,3,20,.46
444
445 Table: ANOVA
446 ,,Sum of Squares,df,Mean Square,F,Significance
447 x,Between Groups,56.16,3,18.72,2.92,.06
448 ,Within Groups,128.34,20,6.42,,
449 ,Total,184.50,23,,,
450 y,Between Groups,7.75,3,2.58,13.33,.00
451 ,Within Groups,3.87,20,.19,,
452 ,Total,11.63,23,,,
453 z,Between Groups,17.47,3,5.82,.62,.61
454 ,Within Groups,187.87,20,9.39,,
455 ,Total,205.33,23,,,
456
457 Table: Contrast Coefficients
458 ,,g,,,
459 ,,10.00,20.00,30.00,40.00
460 Contrast,1,3,2,0,-5
461 ,2,2,-9,7,0
462
463 Table: Contrast Tests
464 ,,Contrast,Value of Contrast,Std. Error,t,df,Sig. (2-tailed)
465 x,Assume equal variances,1,-7.40,6.67,1.11,20,.28
466 ,,2,6.26,12.32,.51,20,.62
467 ,Does not assume equal,1,-7.40,10.04,-.74,4.53,1.50
468 ,,2,6.26,5.85,1.07,2.87,.37
469 y,Assume equal variances,1,-6.88,1.16,5.94,20,.00
470 ,,2,3.50,2.14,1.63,20,.12
471 ,Does not assume equal,1,-6.88,.91,-7.51,7.00,2.00
472 ,,2,3.50,1.32,2.65,7.00,.03
473 z,Assume equal variances,1,-9.70,8.07,1.20,20,.24
474 ,,2,11.73,14.91,.79,20,.44
475 ,Does not assume equal,1,-9.70,9.57,-1.01,3.64,1.63
476 ,,2,11.73,14.53,.81,9.88,.44
477 ])
478
479 AT_CLEANUP
480
481
482
483 dnl Tests that everything treats weights properly
484 AT_SETUP([ONEWAY vs. weights])
485
486 AT_DATA([oneway-unweighted.sps],
487 [DATA LIST NOTABLE LIST /QUALITY * BRAND * W *.
488 BEGIN DATA
489 3  1   1
490 2  1   1
491 1  1   1
492 1  1   1
493 4  1   1
494 5  2   1
495 2  2   1
496 4  2   1
497 4  2   1
498 4  2   1
499 2  2   1
500 2  2   1
501 3  2   1
502 7  3   1
503 4  3   1
504 5  3   1
505 5  3   1
506 3  3   1
507 6  3   1
508 END DATA.
509
510 WEIGHT BY W.
511
512 ONEWAY
513         quality BY brand
514         /STATISTICS descriptives homogeneity
515         .
516 ])
517
518 AT_CHECK([pspp -o pspp-unweighted.csv oneway-unweighted.sps], [0], [ignore], [ignore])
519
520 AT_DATA([oneway-weighted.sps],
521 [DATA LIST NOTABLE LIST /QUALITY * BRAND * W *.
522 BEGIN DATA
523 3  1   1
524 2  1   1
525 1  1   2
526 4  1   1
527 5  2   1
528 2  2   1
529 4  2   3
530 2  2   2
531 3  2   1
532 7  3   1
533 4  3   1
534 5  3   2
535 3  3   1
536 6  3   1
537 END DATA.
538
539 WEIGHT BY W.
540
541 ONEWAY
542         quality BY brand
543         /STATISTICS descriptives homogeneity
544         .
545 ])
546
547 AT_CHECK([pspp -o pspp-weighted.csv oneway-weighted.sps], [0], [ignore], [ignore])
548
549
550 AT_CHECK([diff pspp-weighted.csv pspp-unweighted.csv], [0])
551
552
553 AT_CLEANUP