X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=tests%2Flanguage%2Fstats%2Fglm.at;h=618d2a1069a83062ef3f4af981e236cab7dc99f4;hb=bf356897197e4eaa51f056f4688b241e3921a9a1;hp=de1ad2a4bc64b3d97e0f69f8965b30aa152464fa;hpb=719ab9a49adc3cbb668dc64efde83b0de685f3a4;p=pspp diff --git a/tests/language/stats/glm.at b/tests/language/stats/glm.at index de1ad2a4bc..618d2a1069 100644 --- a/tests/language/stats/glm.at +++ b/tests/language/stats/glm.at @@ -1,6 +1,23 @@ +dnl PSPP - a program for statistical analysis. +dnl Copyright (C) 2017 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 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 You should have received a copy of the GNU General Public License +dnl along with this program. If not, see . +dnl AT_BANNER([GLM procedure]) AT_SETUP([GLM latin square design]) +AT_KEYWORDS([categorical categoricals]) dnl This example comes from : dnl http://ssnds.uwo.ca/statsexamples/spssanova/latinsquareresults.html @@ -58,7 +75,7 @@ glm y by b a c AT_CHECK([pspp -O format=csv latin.sps | sed 's/329.62[[678]]/329.62/'], [0], [dnl Table: Tests of Between-Subjects Effects -Source,Type III Sum of Squares,df,Mean Square,F,Sig. +,Type III Sum Of Squares,df,Mean Square,F,Sig. Corrected Model,263.064,15,17.538,5.269,.000 Intercept,815.103,1,815.103,244.910,.000 Factor A,78.869,5,15.774,4.739,.005 @@ -72,6 +89,7 @@ Corrected Total,329.62,35,,, AT_CLEANUP AT_SETUP([GLM 2 by 2 factorial design]) +AT_KEYWORDS([categorical categoricals]) AT_DATA([2by2.sps], [dnl set format = F20.3. @@ -109,12 +127,12 @@ glm points by Factor0 Factor1 AT_CHECK([pspp -O format=csv 2by2.sps ], [0], [dnl Table: Tests of Between-Subjects Effects -Source,Type III Sum of Squares,df,Mean Square,F,Sig. +,Type III Sum Of Squares,df,Mean Square,F,Sig. Corrected Model,8667.053,3,2889.018,5.043,.012 Intercept,2256018.640,1,2256018.640,3937.693,.000 Factor0,313.394,1,313.394,.547,.470 Factor1,5157.508,1,5157.508,9.002,.008 -Factor0 * Factor1,3196.150,1,3196.150,5.579,.031 +Factor0 × Factor1,3196.150,1,3196.150,5.579,.031 Error,9166.865,16,572.929,, Total,2273852.559,20,,, Corrected Total,17833.918,19,,, @@ -124,8 +142,9 @@ AT_CLEANUP AT_SETUP([GLM Type I and II Sums of Squares]) +AT_KEYWORDS([categorical categoricals]) -dnl The following example comes from +dnl The following example comes from dnl http://www.uvm.edu/~dhowell/StatPages/More_Stuff/Type1-3.pdf AT_DATA([data-inc.sps], [dnl set decimal = dot. @@ -206,23 +225,21 @@ glm dv by Agrp Bgrp AT_CHECK([pspp -O format=csv type1.sps], [0], [dnl Table: Tests of Between-Subjects Effects -Source,Type I Sum of Squares,df,Mean Square,F,Sig. +,Type I Sum Of Squares,df,Mean Square,F,Sig. Corrected Model,216.017,7,30.860,5.046,.001 -Intercept,,,,, Agrp,9.579,1,9.579,1.566,.220 Bgrp,186.225,3,62.075,10.151,.000 -Agrp * Bgrp,20.212,3,6.737,1.102,.364 +Agrp × Bgrp,20.212,3,6.737,1.102,.364 Error,183.457,30,6.115,, Total,3810.000,38,,, Corrected Total,399.474,37,,, Table: Tests of Between-Subjects Effects -Source,Type I Sum of Squares,df,Mean Square,F,Sig. +,Type I Sum Of Squares,df,Mean Square,F,Sig. Corrected Model,216.017,7,30.860,5.046,.001 -Intercept,,,,, Bgrp,193.251,3,64.417,10.534,.000 Agrp,2.553,1,2.553,.418,.523 -Bgrp * Agrp,20.212,3,6.737,1.102,.364 +Bgrp × Agrp,20.212,3,6.737,1.102,.364 Error,183.457,30,6.115,, Total,3810.000,38,,, Corrected Total,399.474,37,,, @@ -241,12 +258,11 @@ glm dv by Agrp Bgrp AT_CHECK([pspp -O format=csv type2.sps], [0], [dnl Table: Tests of Between-Subjects Effects -Source,Type II Sum of Squares,df,Mean Square,F,Sig. +,Type II Sum Of Squares,df,Mean Square,F,Sig. Corrected Model,216.017,7,30.860,5.046,.001 -Intercept,,,,, Agrp,2.553,1,2.553,.418,.523 Bgrp,186.225,3,62.075,10.151,.000 -Agrp * Bgrp,20.212,3,6.737,1.102,.364 +Agrp × Bgrp,20.212,3,6.737,1.102,.364 Error,183.457,30,6.115,, Total,3810.000,38,,, Corrected Total,399.474,37,,, @@ -257,8 +273,9 @@ AT_CLEANUP AT_SETUP([GLM excluded intercept]) +AT_KEYWORDS([categorical categoricals]) -dnl The following example comes from +dnl The following example comes from dnl dnl Rudolf N. Cardinal dnl Graduate-level statistics for psychology and neuroscience @@ -308,14 +325,14 @@ GLM depvar by A AT_CHECK([pspp -O format=csv intercept-exclude.sps], [0], [dnl Table: Tests of Between-Subjects Effects -Source,Type III Sum of Squares,df,Mean Square,F,Sig. +,Type III Sum Of Squares,df,Mean Square,F,Sig. Model,1636.826,2,818.413,43.556,.000 A,1636.826,2,818.413,43.556,.000 Error,338.216,18,18.790,, Total,1975.042,20,,, Table: Tests of Between-Subjects Effects -Source,Type III Sum of Squares,df,Mean Square,F,Sig. +,Type III Sum Of Squares,df,Mean Square,F,Sig. Corrected Model,98.568,1,98.568,5.246,.034 Intercept,1538.258,1,1538.258,81.867,.000 A,98.568,1,98.568,5.246,.034 @@ -326,3 +343,228 @@ Corrected Total,436.784,19,,, AT_CLEANUP + +AT_SETUP([GLM missing values]) +AT_KEYWORDS([categorical categoricals]) + +AT_DATA([glm.data], [dnl +1 1 6 3.5 +1 2 2 8.9 +1 3 3 9.6 +1 4 4 10.5 +1 5 5 3.1 +1 6 1 5.9 +2 1 2 4.2 +2 2 6 1.9 +2 3 5 3.7 +2 4 3 10.2 +2 5 1 7.2 +2 6 4 7.6 +3 1 1 6.7 +3 2 4 5.8 +3 3 6 -2.7 +3 4 2 4.6 +3 5 3 4.0 +3 6 5 -0.7 +4 1 4 6.6 +4 2 1 4.5 +4 3 2 3.7 +4 4 5 3.7 +4 5 6 -3.3 +4 6 3 3.0 +5 1 3 4.1 +5 2 5 2.4 +5 3 4 6.0 +5 4 1 5.1 +5 5 2 3.5 +5 6 6 4.0 +6 1 5 3.8 +6 2 3 5.8 +6 3 1 7.0 +6 4 6 3.8 +6 5 4 5.0 +6 6 2 8.6 +]) + +AT_DATA([glm-miss.sps], [dnl +set format = F20.3. +data list file='glm.data' notable fixed /a 1 b 3 c 5 y 7-10(2). + +do if a=6. +recode y (else=SYSMIS). +end if. + +glm y by b a c + /criteria=alpha(.05) + /design = a b c + . +]) + +AT_CHECK([pspp -O format=csv glm-miss.sps], [0], [dnl +Table: Tests of Between-Subjects Effects +,Type III Sum Of Squares,df,Mean Square,F,Sig. +Corrected Model,251.621,14,17.973,4.969,.002 +Intercept,628.376,1,628.376,173.737,.000 +a,72.929,4,18.232,5.041,.009 +b,20.703,5,4.141,1.145,.380 +c,135.179,5,27.036,7.475,.001 +Error,54.253,15,3.617,, +Total,934.250,30,,, +Corrected Total,305.874,29,,, +]) + + + +AT_DATA([glm-miss2.sps], [dnl +set format = F20.3. +data list file='glm.data' notable fixed /a 1 b 3 c 5 y 7-10(2). + +select if a <> 6. + +glm y by b a c + /criteria=alpha(.05) + /design = a b c + . +]) + +AT_CHECK([pspp -O format=csv glm-miss2.sps], [0], [dnl +Table: Tests of Between-Subjects Effects +,Type III Sum Of Squares,df,Mean Square,F,Sig. +Corrected Model,251.621,14,17.973,4.969,.002 +Intercept,628.376,1,628.376,173.737,.000 +a,72.929,4,18.232,5.041,.009 +b,20.703,5,4.141,1.145,.380 +c,135.179,5,27.036,7.475,.001 +Error,54.253,15,3.617,, +Total,934.250,30,,, +Corrected Total,305.874,29,,, +]) + + +dnl Now for some missing values in the factor variables. + +AT_DATA([glm-miss3.sps], [dnl +set format = F20.3. +data list file=glm.data notable fixed /a 1 b 3 c 5 y 7-10(2). + +do if a=6. +recode a (else=SYSMIS). +end if. + +glm y by b a c + /criteria=alpha(.05) + /design = a b c + . +]) + +AT_CHECK([pspp -O format=csv glm-miss3.sps], [0], [dnl +Table: Tests of Between-Subjects Effects +,Type III Sum Of Squares,df,Mean Square,F,Sig. +Corrected Model,251.621,14,17.973,4.969,.002 +Intercept,628.376,1,628.376,173.737,.000 +a,72.929,4,18.232,5.041,.009 +b,20.703,5,4.141,1.145,.380 +c,135.179,5,27.036,7.475,.001 +Error,54.253,15,3.617,, +Total,934.250,30,,, +Corrected Total,305.874,29,,, +]) + +AT_CLEANUP + +AT_SETUP([GLM syntax errors]) +AT_DATA([glm.sps], [dnl +DATA LIST LIST NOTABLE /x y z. +GLM **. +GLM x **. +GLM x BY **. +GLM x BY y. +GLM x y BY z. +GLM x BY y/MISSING=**. +GLM x BY y/INTERCEPT=**. +GLM x BY y/CRITERIA=**. +GLM x BY y/CRITERIA=ALPHA **. +GLM x BY y/CRITERIA=ALPHA(**). +GLM x BY y/CRITERIA=ALPHA(123 **). +GLM x BY y/METHOD=**. +GLM x BY y/METHOD=SSTYPE **. +GLM x BY y/METHOD=SSTYPE(4). +GLM x BY y/METHOD=SSTYPE(2 **). +GLM x BY y/DESIGN=**. +GLM x BY y/DESIGN=x(y). +GLM x BY y/DESIGN=x WITHIN y. +]) +AT_CHECK([pspp -O format=csv glm.sps], [1], [dnl +"glm.sps:2.5-2.6: error: GLM: Syntax error expecting variable name. + 2 | GLM **. + | ^~" + +"glm.sps:3.7-3.8: error: GLM: Syntax error expecting `BY'. + 3 | GLM x **. + | ^~" + +"glm.sps:4.10-4.11: error: GLM: Syntax error expecting variable name. + 4 | GLM x BY **. + | ^~" + +"glm.sps:6.1-6.3: error: GLM: Syntax error expecting `BEGIN DATA'. + 6 | GLM x y BY z. + | ^~~" + +"glm.sps:6.1-6.3: error: GLM: Syntax error expecting end of command. + 6 | GLM x y BY z. + | ^~~" + +"glm.sps:7.20-7.21: error: GLM: Syntax error expecting INCLUDE or EXCLUDE. + 7 | GLM x BY y/MISSING=**. + | ^~" + +"glm.sps:8.22-8.23: error: GLM: Syntax error expecting INCLUDE or EXCLUDE. + 8 | GLM x BY y/INTERCEPT=**. + | ^~" + +"glm.sps:9.21-9.22: error: GLM: Syntax error expecting `ALPHA@{:@'. + 9 | GLM x BY y/CRITERIA=**. + | ^~" + +"glm.sps:10.21-10.28: error: GLM: Syntax error expecting `ALPHA@{:@'. + 10 | GLM x BY y/CRITERIA=ALPHA **. + | ^~~~~~~~" + +"glm.sps:11.27-11.28: error: GLM: Syntax error expecting number. + 11 | GLM x BY y/CRITERIA=ALPHA(**). + | ^~" + +"glm.sps:12.31-12.32: error: GLM: Syntax error expecting `@:}@'. + 12 | GLM x BY y/CRITERIA=ALPHA(123 **). + | ^~" + +"glm.sps:13.19-13.20: error: GLM: Syntax error expecting `SSTYPE@{:@'. + 13 | GLM x BY y/METHOD=**. + | ^~" + +"glm.sps:14.19-14.27: error: GLM: Syntax error expecting `SSTYPE@{:@'. + 14 | GLM x BY y/METHOD=SSTYPE **. + | ^~~~~~~~~" + +"glm.sps:15.26: error: GLM: Syntax error expecting integer between 1 and 3 for SSTYPE. + 15 | GLM x BY y/METHOD=SSTYPE(4). + | ^" + +"glm.sps:16.28-16.29: error: GLM: Syntax error expecting `@:}@'. + 16 | GLM x BY y/METHOD=SSTYPE(2 **). + | ^~" + +"glm.sps:17.19-17.20: error: GLM: Syntax error expecting variable name. + 17 | GLM x BY y/DESIGN=**. + | ^~" + +"glm.sps:18.20: error: GLM: Nested variables are not yet implemented. + 18 | GLM x BY y/DESIGN=x(y). + | ^" + +"glm.sps:19.21-19.26: error: GLM: Nested variables are not yet implemented. + 19 | GLM x BY y/DESIGN=x WITHIN y. + | ^~~~~~" +]) +AT_CLEANUP