MISSING=INCLUDE/EXCLUDE works
[pspp] / tests / language / stats / oneway.at
index be9ae130e46827cbcdb5d18f38d4f9cceda2ed75..9eb1a0811bb9ceae7521eb1e6352f51bb069f872 100644 (file)
@@ -1,16 +1,16 @@
 dnl PSPP - a program for statistical analysis.
-dnl Copyright (C) 2017 Free Software Foundation, Inc.
-dnl 
+dnl Copyright (C) 2017, 2020 Free Software Foundation, Inc.
+dnl
 dnl This program is free software: you can redistribute it and/or modify
 dnl it under the terms of the GNU General Public License as published by
 dnl the Free Software Foundation, either version 3 of the License, or
 dnl (at your option) any later version.
-dnl 
+dnl
 dnl This program is distributed in the hope that it will be useful,
 dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
 dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 dnl GNU General Public License for more details.
-dnl 
+dnl
 dnl You should have received a copy of the GNU General Public License
 dnl along with this program.  If not, see <http://www.gnu.org/licenses/>.
 dnl
@@ -46,7 +46,7 @@ VALUE LABELS /brand 1 'Aspeger' 2 'Bloggs' 3 'Charlies'.
 ONEWAY
        quality BY brand
        /STATISTICS descriptives homogeneity
-       /CONTRAST =  -2 1 1 
+       /CONTRAST =  -2 1 1
        /CONTRAST = 0 -1 1
        .
 ])
@@ -54,8 +54,8 @@ ONEWAY
 AT_CHECK([pspp -o pspp.csv -o pspp.txt oneway.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
 Table: Descriptives
-,,N,Mean,Std. Deviation,Std. Error,95% Confidence Interval for Mean,,Minimum,Maximum
-,Manufacturer,,,,,Lower Bound,Upper Bound,,
+,Manufacturer,N,Mean,Std. Deviation,Std. Error,95% Confidence Interval for Mean,,Minimum,Maximum
+,,,,,,Lower Bound,Upper Bound,,
 Breaking Strain,Aspeger,5,2.20,1.30,.58,.58,3.82,1.00,4.00
 ,Bloggs,5,3.20,1.30,.58,1.58,4.82,2.00,5.00
 ,Charlies,5,5.00,1.58,.71,3.04,6.96,3.00,7.00
@@ -72,8 +72,8 @@ Breaking Strain,Between Groups,20.13,2,10.07,5.12,.025
 ,Total,43.73,14,,,
 
 Table: Contrast Coefficients
-,Manufacturer,,
-Contrast,Aspeger,Bloggs,Charlies
+Contrast,Manufacturer,,
+,Aspeger,Bloggs,Charlies
 1,-2,1,1
 2,0,-1,1
 
@@ -131,8 +131,8 @@ Variable,Value
 S,1.00
 
 Table: Descriptives
-,,N,Mean,Std. Deviation,Std. Error,95% Confidence Interval for Mean,,Minimum,Maximum
-,Manufacturer,,,,,Lower Bound,Upper Bound,,
+,Manufacturer,N,Mean,Std. Deviation,Std. Error,95% Confidence Interval for Mean,,Minimum,Maximum
+,,,,,,Lower Bound,Upper Bound,,
 Breaking Strain,Aspeger,5,2.20,1.30,.58,.58,3.82,1.00,4.00
 ,Bloggs,2,3.50,2.12,1.50,-15.56,22.56,2.00,5.00
 ,Total,7,2.57,1.51,.57,1.17,3.97,1.00,5.00
@@ -148,8 +148,8 @@ Breaking Strain,Between Groups,2.41,1,2.41,1.07,.349
 ,Total,13.71,6,,,
 
 Table: Contrast Coefficients
-,Manufacturer,
-Contrast,Aspeger,Bloggs
+Contrast,Manufacturer,
+,Aspeger,Bloggs
 1,-2,2
 2,-1,1
 
@@ -165,8 +165,8 @@ Variable,Value
 S,2.00
 
 Table: Descriptives
-,,N,Mean,Std. Deviation,Std. Error,95% Confidence Interval for Mean,,Minimum,Maximum
-,Manufacturer,,,,,Lower Bound,Upper Bound,,
+,Manufacturer,N,Mean,Std. Deviation,Std. Error,95% Confidence Interval for Mean,,Minimum,Maximum
+,,,,,,Lower Bound,Upper Bound,,
 Breaking Strain,Bloggs,3,3.00,1.00,.58,.52,5.48,2.00,4.00
 ,Charlies,5,5.00,1.58,.71,3.04,6.96,3.00,7.00
 ,Total,8,4.25,1.67,.59,2.85,5.65,2.00,7.00
@@ -182,8 +182,8 @@ Breaking Strain,Between Groups,7.50,1,7.50,3.75,.101
 ,Total,19.50,7,,,
 
 Table: Contrast Coefficients
-,Manufacturer,
-Contrast,Bloggs,Charlies
+Contrast,Manufacturer,
+,Bloggs,Charlies
 1,-2,2
 2,-1,1
 
@@ -224,14 +224,14 @@ END DATA
 ONEWAY
        v1 v2 BY dep
        /STATISTICS descriptives homogeneity
-       /MISSING ANALYSIS 
+       /MISSING ANALYSIS
        .
 ])
 
 AT_DATA([oneway-missing2.sps],
 [DATA LIST NOTABLE LIST /v1 * v2 * dep * vn * .
 BEGIN DATA
-4 .  1  2 
+4 .  1  2
 3 3  1  2
 2 2  1  2
 1 1  1  2
@@ -268,7 +268,7 @@ dnl Now a test with missing values in the independent variable
 AT_DATA([oneway-missing3.sps],
 [DATA LIST NOTABLE LIST /v1 * v2 * dep * vn * .
 BEGIN DATA
-4 2  .  2 
+4 2  .  2
 3 3  1  2
 2 2  1  2
 1 1  1  2
@@ -333,10 +333,10 @@ ONEWAY
        .
 ])
 
-AT_CHECK([pspp -O format=csv oneway-descriptives.sps], [0], 
+AT_CHECK([pspp -O format=csv oneway-descriptives.sps], [0],
 [Table: Descriptives
-,,N,Mean,Std. Deviation,Std. Error,95% Confidence Interval for Mean,,Minimum,Maximum
-,BRAND,,,,,Lower Bound,Upper Bound,,
+,BRAND,N,Mean,Std. Deviation,Std. Error,95% Confidence Interval for Mean,,Minimum,Maximum
+,,,,,,Lower Bound,Upper Bound,,
 QUALITY,11.00,5,12.20,1.30,.58,10.58,13.82,11.00,14.00
 ,25.00,5,13.20,1.30,.58,11.58,14.82,12.00,15.00
 ,301.00,5,15.00,1.58,.71,13.04,16.96,13.00,17.00
@@ -383,7 +383,7 @@ ONEWAY
        .
 ])
 
-AT_CHECK([pspp -O format=csv oneway-homogeneity.sps], [0], 
+AT_CHECK([pspp -O format=csv oneway-homogeneity.sps], [0],
 [Table: Test of Homogeneity of Variances
 ,Levene Statistic,df1,df2,Sig.
 QUALITY,.09,2,12,.913
@@ -443,10 +443,10 @@ ONEWAY x y z by g
 AT_CHECK([pspp -o pspp.csv -o pspp.txt multivar.sps])
 
 dnl Some machines return 3.88 instead of 3.87 below (see bug #31611).
-AT_CHECK([sed 's/^,Within Groups,3.88/,Within Groups,3.87/' pspp.csv], [0],
+AT_CHECK([sed -e 's/^,Within Groups,3.88/,Within Groups,3.87/' pspp.csv], [0],
   [Table: Descriptives
-,,N,Mean,Std. Deviation,Std. Error,95% Confidence Interval for Mean,,Minimum,Maximum
-,g,,,,,Lower Bound,Upper Bound,,
+,g,N,Mean,Std. Deviation,Std. Error,95% Confidence Interval for Mean,,Minimum,Maximum
+,,,,,,Lower Bound,Upper Bound,,
 x,10.00,3,3.67,4.62,2.67,-7.81,15.14,1.00,9.00
 ,20.00,5,.80,.45,.20,.24,1.36,.00,1.00
 ,30.00,8,.88,.64,.23,.34,1.41,.00,2.00
@@ -482,24 +482,24 @@ z,Between Groups,17.47,3,5.82,.62,.610
 ,Total,205.33,23,,,
 
 Table: Contrast Coefficients
-,g,,,
-Contrast,10.00,20.00,30.00,40.00
+Contrast,g,,,
+,10.00,20.00,30.00,40.00
 1,3,2,0,-5
 2,2,-9,7,0
 
 Table: Contrast Tests
 ,,Contrast,Value of Contrast,Std. Error,t,df,Sig. (2-tailed)
-x,Assume equal variances,1,-7.40,6.67,1.11,20.00,.280
+x,Assume equal variances,1,-7.40,6.67,-1.11,20.00,.280
 ,,2,6.26,12.32,.51,20.00,.617
-,Does not assume equal variances,1,-7.40,10.04,-.74,4.53,1.503
+,Does not assume equal variances,1,-7.40,10.04,-.74,4.53,.497
 ,,2,6.26,5.85,1.07,2.87,.366
-y,Assume equal variances,1,-6.88,1.16,5.94,20.00,.000
+y,Assume equal variances,1,-6.88,1.16,-5.94,20.00,.000
 ,,2,3.50,2.14,1.63,20.00,.118
-,Does not assume equal variances,1,-6.88,.91,-7.51,7.00,2.000
+,Does not assume equal variances,1,-6.88,.91,-7.51,7.00,.000
 ,,2,3.50,1.32,2.65,7.00,.033
-z,Assume equal variances,1,-9.70,8.07,1.20,20.00,.243
+z,Assume equal variances,1,-9.70,8.07,-1.20,20.00,.243
 ,,2,11.73,14.91,.79,20.00,.440
-,Does not assume equal variances,1,-9.70,9.57,-1.01,3.64,1.627
+,Does not assume equal variances,1,-9.70,9.57,-1.01,3.64,.373
 ,,2,11.73,14.53,.81,9.88,.438
 ])
 
@@ -618,8 +618,8 @@ oneway pigmentation by family
 AT_CHECK([pspp -o pspp.csv -o pspp.txt oneway-pig.sps])
 AT_CHECK([cat pspp.csv], [0], [dnl
 Table: Descriptives
-,,N,Mean,Std. Deviation,Std. Error,95% Confidence Interval for Mean,,Minimum,Maximum
-,family,,,,,Lower Bound,Upper Bound,,
+,family,N,Mean,Std. Deviation,Std. Error,95% Confidence Interval for Mean,,Minimum,Maximum
+,,,,,,Lower Bound,Upper Bound,,
 pigmentation,1.000,5,38.600,2.702,1.208,35.245,41.955,36.000,43.000
 ,2.000,5,46.000,1.732,.775,43.849,48.151,43.000,47.000
 ,3.000,5,46.400,4.336,1.939,41.016,51.784,40.000,50.000
@@ -633,8 +633,8 @@ pigmentation,Between Groups,478.950,3,159.650,12.927,.000
 ,Total,676.550,19,,,
 
 Table: Multiple Comparisons (pigmentation)
-,,,Mean Difference (I - J),Std. Error,Sig.,95% Confidence Interval,
-,(J) Family,(J) Family,,,,Lower Bound,Upper Bound
+,(J) Family,(J) Family,Mean Difference (I - J),Std. Error,Sig.,95% Confidence Interval,
+,,,,,,Lower Bound,Upper Bound
 LSD,1.000,2.000,-7.400,2.223,.004,-12.112,-2.688
 ,,3.000,-7.800,2.223,.003,-12.512,-3.088
 ,,4.000,-13.800,2.223,.000,-18.512,-9.088
@@ -703,15 +703,15 @@ libido,Between Groups,20.133,2,10.067,5.119,.025
 ,Total,43.733,14,,,
 
 Table: Multiple Comparisons (libido)
-,,,Mean Difference (I - J),Std. Error,Sig.,95% Confidence Interval,
-,(J) Family,(J) Family,,,,Lower Bound,Upper Bound
+,(J) Family,(J) Family,Mean Difference (I - J),Std. Error,Sig.,95% Confidence Interval,
+,,,,,,Lower Bound,Upper Bound
 Tukey HSD,Placebo,1 Dose,-1.000,.887,.516,-3.366,1.366
 ,,2 Doses,-2.800,.887,.021,-5.166,-.434
 ,1 Dose,Placebo,1.000,.887,.516,-1.366,3.366
 ,,2 Doses,-1.800,.887,.147,-4.166,.566
 ,2 Doses,Placebo,2.800,.887,.021,.434,5.166
 ,,1 Dose,1.800,.887,.147,-.566,4.166
-Games-Howell,Placebo,,-1.000,.887,.479,-3.356,1.356
+Games-Howell,Placebo,1 Dose,-1.000,.887,.479,-3.356,1.356
 ,,2 Doses,-2.800,.887,.039,-5.439,-.161
 ,1 Dose,Placebo,1.000,.887,.479,-1.356,3.356
 ,,2 Doses,-1.800,.887,.185,-4.439,.839
@@ -756,7 +756,7 @@ ONEWAY
   /POSTHOC = SIDAK.
 ])
 
-AT_CHECK([pspp -O format=csv oneway-sidak.sps], [0], 
+AT_CHECK([pspp -O format=csv oneway-sidak.sps], [0],
 [Table: ANOVA
 ,,Sum of Squares,df,Mean Square,F,Sig.
 score,Between Groups,54.9500,3,18.3167,7.0449,.003
@@ -764,8 +764,8 @@ score,Between Groups,54.9500,3,18.3167,7.0449,.003
 ,Total,96.5500,19,,,
 
 Table: Multiple Comparisons (score)
-,,,Mean Difference (I - J),Std. Error,Sig.,95% Confidence Interval,
-,(J) Family,(J) Family,,,,Lower Bound,Upper Bound
+,(J) Family,(J) Family,Mean Difference (I - J),Std. Error,Sig.,95% Confidence Interval,
+,,,,,,Lower Bound,Upper Bound
 Šidák,1.0000,2.0000,3.0000,1.0198,.056,-.0575,6.0575
 ,,3.0000,-.4000,1.0198,.999,-3.4575,2.6575
 ,,4.0000,3.2000,1.0198,.038,.1425,6.2575
@@ -838,7 +838,7 @@ oneway usage by group
        /posthoc scheffe.
 ])
 
-AT_CHECK([pspp -O format=csv oneway-scheffe.sps], [0], 
+AT_CHECK([pspp -O format=csv oneway-scheffe.sps], [0],
 [Table: ANOVA
 ,,Sum of Squares,df,Mean Square,F,Sig.
 Days of Use,Between Groups,555.275,3,185.092,6.663,.001
@@ -846,8 +846,8 @@ Days of Use,Between Groups,555.275,3,185.092,6.663,.001
 ,Total,1555.375,39,,,
 
 Table: Multiple Comparisons (Days of Use)
-,,,Mean Difference (I - J),Std. Error,Sig.,95% Confidence Interval,
-,(J) Family,(J) Family,,,,Lower Bound,Upper Bound
+,(J) Family,(J) Family,Mean Difference (I - J),Std. Error,Sig.,95% Confidence Interval,
+,,,,,,Lower Bound,Upper Bound
 Scheffé,one,two,3.800,2.357,.467,-3.112,10.712
 ,,three,10.300,2.357,.001,3.388,17.212
 ,,four,6.000,2.357,.110,-.912,12.912
@@ -882,11 +882,11 @@ BEGIN DATA.
 END DATA.
 
 ONEWAY /VARIABLES= height weight temperature BY sex
- /CONTRAST = -1  1 
- /CONTRAST = -3  3 
+ /CONTRAST = -1  1
+ /CONTRAST = -3  3
  /CONTRAST =  2 -2  1
  /CONTRAST = -9  9
- . 
+ .
 ])
 
 
@@ -909,32 +909,32 @@ temperature,Between Groups,1.80,1,1.80,.13,.733
 ,Total,86.36,7,,,
 
 Table: Contrast Coefficients
-,sex,
-Contrast,.00,1.00
+Contrast,sex,
+,.00,1.00
 1,-1,1
 2,-3,3
 3,-9,9
 
 Table: Contrast Tests
 ,,Contrast,Value of Contrast,Std. Error,t,df,Sig. (2-tailed)
-height,Assume equal variances,1,-222.27,20.23,10.99,6.00,.000
-,,2,-666.80,60.68,10.99,6.00,.000
-,,3,-2000.40,182.03,10.99,6.00,.000
-,Does not assume equal variances,1,-222.27,27.67,-8.03,2.00,1.985
-,,2,-666.80,83.02,-8.03,2.00,1.985
-,,3,-2000.40,249.07,-8.03,2.00,1.985
-weight,Assume equal variances,1,-36.16,2.74,13.21,6.00,.000
-,,2,-108.48,8.21,13.21,6.00,.000
-,,3,-325.44,24.63,13.21,6.00,.000
-,Does not assume equal variances,1,-36.16,2.19,-16.48,5.42,2.000
-,,2,-108.48,6.58,-16.48,5.42,2.000
-,,3,-325.44,19.75,-16.48,5.42,2.000
-temperature,Assume equal variances,1,-.98,2.74,.36,6.00,.733
-,,2,-2.94,8.22,.36,6.00,.733
-,,3,-8.83,24.67,.36,6.00,.733
-,Does not assume equal variances,1,-.98,2.07,-.47,4.19,1.340
-,,2,-2.94,6.22,-.47,4.19,1.340
-,,3,-8.83,18.66,-.47,4.19,1.340
+height,Assume equal variances,1,-222.27,20.23,-10.99,6.00,.000
+,,2,-666.80,60.68,-10.99,6.00,.000
+,,3,-2000.40,182.03,-10.99,6.00,.000
+,Does not assume equal variances,1,-222.27,27.67,-8.03,2.00,.015
+,,2,-666.80,83.02,-8.03,2.00,.015
+,,3,-2000.40,249.07,-8.03,2.00,.015
+weight,Assume equal variances,1,-36.16,2.74,-13.21,6.00,.000
+,,2,-108.48,8.21,-13.21,6.00,.000
+,,3,-325.44,24.63,-13.21,6.00,.000
+,Does not assume equal variances,1,-36.16,2.19,-16.48,5.42,.000
+,,2,-108.48,6.58,-16.48,5.42,.000
+,,3,-325.44,19.75,-16.48,5.42,.000
+temperature,Assume equal variances,1,-.98,2.74,-.36,6.00,.733
+,,2,-2.94,8.22,-.36,6.00,.733
+,,3,-8.83,24.67,-.36,6.00,.733
+,Does not assume equal variances,1,-.98,2.07,-.47,4.19,.660
+,,2,-2.94,6.22,-.47,4.19,.660
+,,3,-8.83,18.66,-.47,4.19,.660
 ])
 AT_CLEANUP
 
@@ -966,20 +966,20 @@ AT_KEYWORDS([categorical categoricals])
 AT_DATA([crash2.sps],[dnl
 data list notable list /dv1 * dv2  *  y * .
 begin data.
-2  .  2     
-1  .  2 
-1  .  1    
-2  .  4    
+2  .  2
+1  .  2
+1  .  1
+2  .  4
 3  .  4
-4  .  4    
-5  .  4    
+4  .  4
+5  .  4
 end data.
 
-ONEWAY 
+ONEWAY
        /VARIABLES= dv1 dv2  BY y
        /STATISTICS = DESCRIPTIVES
        /POSTHOC = BONFERRONI LSD SCHEFFE SIDAK TUKEY
-       /MISSING = ANALYSIS      
+       /MISSING = ANALYSIS
        .
 ])
 
@@ -1005,7 +1005,7 @@ end data.
 ONEWAY
  /VARIABLES= dv BY y
  /POSTHOC = GH
- . 
+ .
 ])
 
 AT_CHECK([pspp -O format=csv crash3.sps], [0], [ignore])
@@ -1075,3 +1075,71 @@ ONEWAY /VARIABLES= height weight temperature BY sex
 AT_CHECK([pspp -O format=csv crash6.sps], [1], [ignore])
 
 AT_CLEANUP
+
+
+AT_SETUP([ONEWAY contrast bug])
+
+AT_KEYWORDS([categorical categoricals])
+
+
+
+dnl this example comes from: https://case.truman.edu/files/2015/06/SPSS-One-Way-ANOVA.pdf
+AT_DATA([contrasts.sps],
+[
+SET FORMAT=F10.3.
+
+DATA LIST notable LIST /relieftime drugs *.
+begin data.
+12 0
+15 0
+18 0
+16 0
+20 0
+20 1
+21 1
+22 1
+19 1
+20 1
+17 2
+16 2
+19 2
+15 2
+19 2
+14 3
+13 3
+12 3
+14 3
+11 3
+end data.
+
+ONEWAY relieftime by drugs
+       /CONTRAST 3 -1 -1 -1
+       /CONTRAST 0 2 -1 -1
+        /CONTRAST 0 0 1 -1
+       .
+])
+
+AT_CHECK([pspp -O format=csv contrasts.sps], [0], [Table: ANOVA
+,,Sum of Squares,df,Mean Square,F,Sig.
+relieftime,Between Groups,146.950,3,48.983,12.723,.000
+,Within Groups,61.600,16,3.850,,
+,Total,208.550,19,,,
+
+Table: Contrast Coefficients
+Contrast,drugs,,,
+,.000,1.000,2.000,3.000
+1,3,-1,-1,-1
+2,0,2,-1,-1
+3,0,0,1,-1
+
+Table: Contrast Tests
+,,Contrast,Value of Contrast,Std. Error,t,df,Sig. (2-tailed)
+relieftime,Assume equal variances,1,-1.800,3.040,-.592,16.000,.562
+,,2,10.800,2.149,5.025,16.000,.000
+,,3,4.400,1.241,3.546,16.000,.003
+,Does not assume equal variances,1,-1.800,4.219,-.427,4.611,.689
+,,2,10.800,1.421,7.599,10.158,.000
+,,3,4.400,.990,4.445,7.315,.003
+])
+
+AT_CLEANUP