X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=tests%2Flanguage%2Fstats%2Fnpar.at;h=24a8cce65956b07353806a964b1af51944fc257d;hb=5dbf5abcbed01f04422d4dead1c0ae0bb7efde4f;hp=d3f2c1b251bcbe6934bb1e8ff7f0891f80f3c9a9;hpb=d913eca7e6003912a787ade5e41cd7e9eae9bb76;p=pspp diff --git a/tests/language/stats/npar.at b/tests/language/stats/npar.at index d3f2c1b251..24a8cce659 100644 --- a/tests/language/stats/npar.at +++ b/tests/language/stats/npar.at @@ -1,6 +1,22 @@ +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([NPAR TESTS]) -AT_SETUP([NPAR TESTS BINOMIAL, P < 0.5; N1/N2 < 1]) +AT_SETUP([NPAR TESTS BINOMIAL P < 0.5; N1/N2 < 1]) AT_DATA([npar.sps], [dnl SET FORMAT F8.3. @@ -25,7 +41,7 @@ x,Group1,1.000,6.000,.286,.300,.551 ]) AT_CLEANUP -AT_SETUP([NPAR TESTS BINOMIAL, P < 0.5; N1/N2 > 1]) +AT_SETUP([NPAR TESTS BINOMIAL P < 0.5; N1/N2 > 1]) AT_DATA([npar.sps], [dnl SET FORMAT F8.3. @@ -50,7 +66,7 @@ x,Group1,1,7,.538,.400,.229 ]) AT_CLEANUP -AT_SETUP([NPAR TESTS BINOMIAL, P < 0.5; N1/N2 = 1]) +AT_SETUP([NPAR TESTS BINOMIAL P < 0.5; N1/N2 = 1]) AT_DATA([npar.sps], [dnl SET FORMAT F8.3. @@ -75,7 +91,7 @@ x,Group1,1,8,.500,.400,.284 ]) AT_CLEANUP -AT_SETUP([NPAR TESTS BINOMIAL, P > 0.5; N1/N2 < 1]) +AT_SETUP([NPAR TESTS BINOMIAL P > 0.5; N1/N2 < 1]) AT_DATA([npar.sps], [dnl SET FORMAT F8.3. @@ -100,7 +116,7 @@ x,Group1,1,11,.478,.600,.164 ]) AT_CLEANUP -AT_SETUP([NPAR TESTS BINOMIAL, P > 0.5; N1/N2 > 1]) +AT_SETUP([NPAR TESTS BINOMIAL P > 0.5; N1/N2 > 1]) AT_DATA([npar.sps], [dnl SET FORMAT F8.3. @@ -124,7 +140,7 @@ x,Group1,1,11,.550,.600,.404 ]) AT_CLEANUP -AT_SETUP([NPAR TESTS BINOMIAL, P > 0.5; N1/N2 = 1]) +AT_SETUP([NPAR TESTS BINOMIAL P > 0.5; N1/N2 = 1]) AT_DATA([npar.sps], [dnl SET FORMAT F8.3. @@ -148,7 +164,7 @@ x,Group1,1,11,.500,.600,.228 ]) AT_CLEANUP -AT_SETUP([NPAR TESTS BINOMIAL, P = 0.5; N1/N2 < 1]) +AT_SETUP([NPAR TESTS BINOMIAL P = 0.5; N1/N2 < 1]) AT_DATA([npar.sps], [dnl SET FORMAT F8.3. @@ -173,7 +189,7 @@ x,Group1,1,8,.348,.500,.210 ]) AT_CLEANUP -AT_SETUP([NPAR TESTS BINOMIAL, P = 0.5; N1/N2 > 1]) +AT_SETUP([NPAR TESTS BINOMIAL P = 0.5; N1/N2 > 1]) AT_DATA([npar.sps], [dnl SET FORMAT F8.3. @@ -197,7 +213,7 @@ x,Group1,1,12,.667,.500,.238 ]) AT_CLEANUP -AT_SETUP([NPAR TESTS BINOMIAL, P = 0.5; N1/N2 = 1]) +AT_SETUP([NPAR TESTS BINOMIAL P = 0.5; N1/N2 = 1]) AT_DATA([npar.sps], [dnl SET FORMAT F8.3. @@ -222,7 +238,7 @@ x,Group1,1,10,.500,.500,1.000 ]) AT_CLEANUP -AT_SETUP([NPAR TESTS BINOMIAL, P = 0.5; N1/N2 = 1 Cutpoint]) +AT_SETUP([NPAR TESTS BINOMIAL P = 0.5; N1/N2 = 1 Cutpoint]) AT_DATA([npar.sps], [dnl SET FORMAT F8.3. @@ -248,7 +264,7 @@ x,Group1,<= 10,10.000,.385,.500,.327 ]) AT_CLEANUP -AT_SETUP([NPAR TESTS BINOMIAL, P = 0.5; N1/N2 = 1 Named values]) +AT_SETUP([NPAR TESTS BINOMIAL P = 0.5; N1/N2 = 1 Named values]) AT_DATA([npar.sps], [dnl SET FORMAT F8.3. @@ -274,6 +290,28 @@ x,Group1,10.000,10.000,.435,.500,.678 ]) AT_CLEANUP + + +dnl Test for a bug which caused binomial to crash. +AT_SETUP([NPAR TESTS BINOMIAL - crash]) +AT_DATA([nparX.sps], [dnl +data list list /range *. +begin data. +0 +1 +end data. + +* This is invalid syntax +NPAR TEST + /BINOMIAL(0.5) = Range(). + +]) +AT_CHECK([pspp -O format=csv nparX.sps], [1], [ignore]) + +AT_CLEANUP + + + AT_SETUP([NPAR TESTS CHISQUARE]) AT_DATA([npar.sps], [dnl DATA LIST NOTABLE LIST /x * y * w *. @@ -303,6 +341,7 @@ NPAR TESTS /EXPECTED = 6 10 3 . ]) + AT_CHECK([pspp -O format=csv npar.sps], [0], [dnl Table: x ,Observed N,Expected N,Residual @@ -326,7 +365,7 @@ Table: Test Statistics ,x,y Chi-Square,3.14,6.00 df,5,3 -Asymp. Sig.,.68,.11 +Asymp. Sig.,.678,.112 Table: y ,Observed N,Expected N,Residual @@ -340,7 +379,7 @@ Table: Test Statistics ,y Chi-Square,10.61 df,3 -Asymp. Sig.,.01 +Asymp. Sig.,.014 Table: Frequencies ,x,,,,y,,, @@ -354,8 +393,9 @@ Table: Test Statistics ,x,y Chi-Square,.13,4.13 df,2,2 -Asymp. Sig.,.94,.13 +Asymp. Sig.,.936,.127 ]) + AT_CLEANUP AT_SETUP([NPAR TESTS CHISQUARE expected values missing]) @@ -378,6 +418,7 @@ NPAR TESTS /EXPECTED = 3 4 5 4 3 1 . ]) + AT_CHECK([pspp -O format=csv npar.sps], [1], [dnl "error: CHISQUARE test specified 6 expected values, but 4 distinct values were encountered in variable y." @@ -385,8 +426,9 @@ Table: Test Statistics ,y Chi-Square,.00 df,0 -Asymp. Sig.,1.00 +Asymp. Sig.,1.000 ]) + AT_CLEANUP AT_SETUP([NPAR TESTS CHISQUARE with DESCRIPTIVES]) @@ -413,6 +455,7 @@ NPAR TESTS /STATISTICS=DESCRIPTIVES . ]) + AT_CHECK([pspp -O format=csv npar.sps], [0], [dnl Table: Frequencies ,x,,,,y,,, @@ -431,7 +474,7 @@ Table: Test Statistics ,x,y Chi-Square,17.33,22.87 df,7,7 -Asymp. Sig.,.02,.00 +Asymp. Sig.,.015,.002 Table: Descriptive Statistics ,N,Mean,Std. Deviation,Minimum,Maximum @@ -465,6 +508,7 @@ NPAR TESTS /STATISTICS=DESCRIPTIVES . ]) + AT_CHECK([pspp -O format=csv npar.sps], [0], [dnl Table: Frequencies ,x,,,,y,,, @@ -483,7 +527,7 @@ Table: Test Statistics ,x,y Chi-Square,13.43,26.00 df,7,7 -Asymp. Sig.,.06,.00 +Asymp. Sig.,.062,.001 Table: Descriptive Statistics ,N,Mean,Std. Deviation,Minimum,Maximum @@ -522,22 +566,23 @@ npar test /missing analysis /method=exact. ]) -AT_CHECK([pspp -o pspp.csv npar.sps]) -AT_CHECK([cat pspp.csv], [0], [dnl + +AT_CHECK([pspp -O format=csv npar.sps], [0], [dnl Table: Ranks ,,N,Mean Rank,Sum of Ranks -second - first,Negative Ranks,5,8.60,43.00 -,Positive Ranks,8,6.00,48.00 +first - second,Negative Ranks,8,6.00,48.00 +,Positive Ranks,5,8.60,43.00 ,Ties,2,, ,Total,15,, Table: Test Statistics -,second - first +,first - second Z,-.18 -Asymp. Sig. (2-tailed),.86 -Exact Sig. (2-tailed),.89 -Exact Sig. (1-tailed),.45 +Asymp. Sig. (2-tailed),.861 +Exact Sig. (2-tailed),.893 +Exact Sig. (1-tailed),.446 ]) + AT_CLEANUP AT_SETUP([NPAR TESTS WILCOXON with missing values]) @@ -568,24 +613,23 @@ npar test /wilcoxon=foo with bar (paired) /missing analysis /method=exact. - ]) -AT_CHECK([pspp -o pspp.csv npar.sps]) + dnl This is the same output as the previous test. -AT_CHECK([cat pspp.csv], [0], [dnl +AT_CHECK([pspp -O format=csv npar.sps], [0], [dnl Table: Ranks ,,N,Mean Rank,Sum of Ranks -second - first,Negative Ranks,5,8.60,43.00 -,Positive Ranks,8,6.00,48.00 +first - second,Negative Ranks,8,6.00,48.00 +,Positive Ranks,5,8.60,43.00 ,Ties,2,, ,Total,15,, Table: Test Statistics -,second - first +,first - second Z,-.18 -Asymp. Sig. (2-tailed),.86 -Exact Sig. (2-tailed),.89 -Exact Sig. (1-tailed),.45 +Asymp. Sig. (2-tailed),.861 +Exact Sig. (2-tailed),.893 +Exact Sig. (1-tailed),.446 ]) AT_CLEANUP @@ -610,20 +654,22 @@ npar tests . ]) AT_CHECK([pspp -o pspp.csv npar.sps]) -AT_CHECK([cat pspp.csv], [0], [dnl +dnl Some machines return .313 instead of .312 +dnl (see bug #31611). +AT_CHECK([sed -e 's/\.313$/.312/' -e 's/^Exact Sig\. (1-tailed),\.313/Exact Sig. (1-tailed),.312/' pspp.csv], [0], [dnl Table: Frequencies ,,N -height - age,Negative Differences,1 -,Positive Differences,3 +age - height,Negative Differences,3 +,Positive Differences,1 ,Ties,2 ,Total,6 -rank - height,Negative Differences,3 -,Positive Differences,2 +height - rank,Negative Differences,2 +,Positive Differences,3 ,Ties,1 ,Total,6 Table: Test Statistics -,height - age,rank - height +,age - height,height - rank Exact Sig. (2-tailed),.625,1.000 Exact Sig. (1-tailed),.312,.500 Point Probability,.250,.312 @@ -670,8 +716,8 @@ AT_CHECK([cat pspp.csv], [0], [dnl Table: Ranks ,gv,N,Mean Rank xscore,timed out,5,4.400 -,handled the ball,4,11.500 ,hit wicket,5,7.400 +,handled the ball,4,11.500 ,Total,14, Table: Test Statistics @@ -774,12 +820,12 @@ AT_CHECK([cat pspp.csv], [0], [dnl Table: Ranks ,gv,N,Mean Rank xscore,timed out,5,4.400 -,handled the ball,4,11.500 ,hit wicket,5,7.400 +,handled the ball,4,11.500 ,Total,14, -yscore,handled the ball,4,11.500 +yscore,hit wicket,5,7.400 +,handled the ball,4,11.500 ,bowled,5,4.400 -,hit wicket,5,7.400 ,Total,14, Table: Test Statistics @@ -845,40 +891,62 @@ npar tests . ]) -AT_CHECK([pspp -o pspp.csv npar-runs.sps]) - -AT_CHECK([cat pspp.csv], [0], [dnl -Table: Runs Test +AT_CHECK([pspp -O format=csv npar-runs.sps], [0], +[Table: Runs Test ,score Test Value (median),3.0000 Cases < Test Value,177.0000 -Cases >= Test Value,309.0000 +Cases ≥ Test Value,309.0000 Total Cases,486.0000 Number of Runs,12 Z,-20.9931 -Asymp. Sig. (2-tailed),.0000 +Asymp. Sig. (2-tailed),2.000 Table: Runs Test ,score Test Value (mean),3.6379 Cases < Test Value,259.0000 -Cases >= Test Value,227.0000 +Cases ≥ Test Value,227.0000 Total Cases,486.0000 Number of Runs,12 Z,-21.0650 -Asymp. Sig. (2-tailed),.0000 +Asymp. Sig. (2-tailed),2.000 Table: Runs Test ,score Test Value (mode),6.0000 Cases < Test Value,316.0000 -Cases >= Test Value,170.0000 +Cases ≥ Test Value,170.0000 Total Cases,486.0000 Number of Runs,11 Z,-21.0742 -Asymp. Sig. (2-tailed),.0000 +Asymp. Sig. (2-tailed),2.000 +]) + +AT_CLEANUP + + +dnl Thanks to Douglas Bonett for providing this test case. +AT_SETUP([NPAR TESTS Runs (2)]) +AT_DATA([npar-runs.sps], [dnl +data list notable free /y. +begin data +1 1 2 1 2 1 1 2 1 1 1 2 1 2 +end data. +NPAR TEST /RUNS(1.5) = y. ]) +AT_CHECK([pspp -O format=csv npar-runs.sps], [0], [dnl +Table: Runs Test +,y +Test Value,1.50 +Cases < Test Value,9 +Cases ≥ Test Value,5 +Total Cases,14 +Number of Runs,10 +Z,1.26 +Asymp. Sig. (2-tailed),.206 +]) AT_CLEANUP @@ -903,9 +971,7 @@ npar tests /friedman = x y z. ]) -AT_CHECK([pspp -o pspp.csv npar-friedman.sps]) - -AT_CHECK([cat pspp.csv], [0], [dnl +AT_CHECK([pspp -O format=csv npar-friedman.sps], [0], [dnl Table: Ranks ,Mean Rank x,2.6500 @@ -916,7 +982,7 @@ Table: Test Statistics N,10 Chi-Square,10.4737 df,2 -Asymp. Sig.,.0053 +Asymp. Sig.,.005 ]) AT_CLEANUP @@ -958,16 +1024,18 @@ begin data. 85 0 76 1 145 1 -24 1 +24 1 +1 4 +-4 5 +34 5 +21 4 end data. NPAR TESTS /M-W = height BY sex (0,1). ]) -AT_CHECK([pspp -o pspp.csv npar-mann-whitney.sps]) - -AT_CHECK([cat pspp.csv], [0], [dnl +AT_CHECK([pspp -O format=csv npar-mann-whitney.sps], [0], [dnl Table: Ranks ,N,,,Mean Rank,,Sum of Ranks, ,0,1,Total,0,1,0,1 @@ -975,8 +1043,811 @@ height,15.0000,15.0000,30.0000,14.5333,16.4667,218.0000,247.0000 Table: Test Statistics ,Mann-Whitney U,Wilcoxon W,Z,Asymp. Sig. (2-tailed) -height,98.0000,218.0000,-.6020,.5472 +height,98.0000,218.0000,-.6020,.547 +]) + + +AT_CLEANUP + + +AT_SETUP([NPAR TESTS Mann-Whitney Multiple]) +dnl Check for a bug where the ranks were inappropriately allocated, when +dnl multiple variables were tested and MISSING=ANALYSIS chosen. + +cp $abs_srcdir/language/mann-whitney.txt . + +AT_DATA([npar-mann-whitney.sps], [dnl +SET FORMAT = F11.3 + +DATA LIST NOTABLE FILE='mann-whitney.txt' + LIST /I002_01 I002_02 I002_03 I002_04 sum_HL *. + +VARIABLE LABELS + I002_01 'IOS: Familie' + I002_02 'IOS: Freunde' + I002_03 'IOS: Partner*in' + I002_04 'IOS: Bekannte'. + +MISSING VALUES I002_01 I002_02 I002_03 I002_04 (-9 -1). + +NPAR TESTS + /MISSING=ANALYSIS + /M-W=I002_01 I002_02 I002_03 I002_04 BY sum_HL (0 1). +]) + +AT_CHECK([pspp -O format=csv npar-mann-whitney.sps], [0], [dnl +Table: Ranks +,N,,,Mean Rank,,Sum of Ranks, +,.000,1.000,Total,.000,1.000,.000,1.000 +IOS: Familie,114.000,115.000,229.000,110.018,119.939,12542.000,13793.000 +IOS: Freunde,115.000,115.000,230.000,108.339,122.661,12459.000,14106.000 +IOS: Partner*in,97.000,91.000,188.000,95.351,93.593,9249.000,8517.000 +IOS: Bekannte,115.000,115.000,230.000,111.065,119.935,12772.500,13792.500 + +Table: Test Statistics +,Mann-Whitney U,Wilcoxon W,Z,Asymp. Sig. (2-tailed) +IOS: Familie,5987.000,12542.000,-1.167,.243 +IOS: Freunde,5789.000,12459.000,-1.674,.094 +IOS: Partner*in,4331.000,8517.000,-.245,.807 +IOS: Bekannte,6102.500,12772.500,-1.046,.296 +]) + +AT_CLEANUP + + + +AT_SETUP([NPAR TESTS Cochran]) +AT_DATA([npar-cochran.sps], [dnl +set format f11.3. + +data list notable list /v1 * v2 * v3 * v4 * v5 * v6 * v7 *. +begin data. +2 1 1 2 1 1 2 +2 2 2 2 1 1 1 +1 1 2 2 1 1 2 +2 2 2 2 1 1 2 +2 1 2 1 1 2 1 +1 2 2 1 1 1 1 +1 2 2 2 2 2 2 +2 2 1 2 1 1 1 +1 2 1 2 1 1 2 +end data. + +npar tests + /cochran = v1 to v7 . + +]) + +AT_CHECK([pspp -o pspp.csv npar-cochran.sps]) + +AT_CHECK([cat pspp.csv], [0], [dnl +Table: Frequencies +,Value, +,Success (2),Failure (1) +v1,5,4 +v2,6,3 +v3,6,3 +v4,7,2 +v5,1,8 +v6,2,7 +v7,5,4 + +Table: Test Statistics +N,9 +Cochran's Q,12.735 +df,6 +Asymp. Sig.,.047 +]) + +AT_CLEANUP + + + +AT_SETUP([NPAR TESTS Kendall]) +AT_DATA([npar-kendall.sps], [dnl +SET FORMAT F14.3. + +data list notable list /v1 * v2 * v3 +begin data. + 7 7 2 + 5 6 5 + 8 6 4 + 5 7 4 + 5 4 4 + 8 6 5 + 6 3 5 + 7 6 5 + 8 5 5 + . 2 2 + 5 4 5 + 3 4 4 + 5 1 2 + 5 2 1 + 7 6 5 + 6 3 4 + 6 6 6 + 5 4 5 + 4 3 4 + 9 1 1 + 6 2 1 + 3 7 8 + 6 3 4 + 4 4 4 + 5 4 3 + 6 5 2 + 4 4 8 + 4 6 4 + 6 5 5 + 7 8 6 + 5 3 5 +end data. + +npar tests + /kendall = all + . +]) + +AT_CHECK([pspp -o pspp.csv npar-kendall.sps]) + +AT_CHECK([cat pspp.csv], [0], [dnl +Table: Ranks +,Mean Rank +v1,2.500 +v2,1.817 +v3,1.683 + +Table: Test Statistics +N,30 +Kendall's W,.233 +Chi-Square,13.960 +df,2 +Asymp. Sig.,.001 +]) + +AT_CLEANUP + + + +AT_SETUP([NPAR TESTS McNemar]) + +AT_DATA([mcnemar.sps], [dnl +set format = F12.3. +data list notable list /v1 * v2 * junk *. +begin data. +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 1 0 +0 1 0 +0 1 0 +0 1 0 +0 1 1 +0 1 1 +0 1 1 +0 1 1 +0 1 1 +1 0 1 +1 0 1 +1 1 1 +1 1 1 +1 1 0 +1 1 0 +1 1 1 +end data. + +npar tests + /mcnemar = v1 WITH v2 junk. +]) + +AT_CHECK([pspp -O format=csv mcnemar.sps], [0], [dnl +Table: v1 & v2 +v1,v2, +,.000,1.000 +.000,4,9 +1.000,2,5 + +Table: v1 & junk +v1,junk, +,.000,1.000 +.000,8,5 +1.000,2,5 + +Table: Test Statistics +,N,Exact Sig. (2-tailed),Exact Sig. (1-tailed),Point Probability +v1 & v2,20,.065,.033,.027 +v1 & junk,20,.453,.227,.164 +]) + +AT_CLEANUP + + +AT_SETUP([NPAR TESTS Kolmogorov-Smirnov Uniform parameters given]) + +AT_DATA([ks-uniform.sps], [dnl +set format F12.3. +data list notable list /x *. +begin data +.554 +.382 +.329 +.480 +.711 +.503 +.203 +.477 +.621 +.581 +end data. + +npar tests k-s (uniform 0 1) = x. +]) + +AT_CHECK([pspp -O format=csv ks-uniform.sps], [0], [dnl +Table: One-Sample Kolmogorov-Smirnov Test +,,x +N,,10 +Uniform Parameters,Minimum,.000 +,Maximum,1.000 +Most Extreme Differences,Absolute,.289 +,Positive,.289 +,Negative,-.229 +Kolmogorov-Smirnov Z,,.914 +Asymp. Sig. (2-tailed),,.374 +]) + +AT_CLEANUP + + +AT_SETUP([NPAR TESTS Kolmogorov-Smirnov Normal parameters imputed]) + +AT_DATA([ks-normal.sps], [dnl +set format = F12.3. + +data list notable list /foo * bar *. +begin data. +65 12.5 +59 14.2 +43 12.6 +57 +68 +79 +51 +62 +57 +73 +58 +58 +68 +75 +47 +70 +59 +71 +52 +48 13.0 +58 14.1 +37 15.0 +39 13.1 +58 13.2 +43 14.5 +58 13.5 +86 14.0 +63 12.5 +80 12.8 +70 +63 +53 +53 +48 +49 +51 +47 +81 +66 +78 +65 +69 +70 12.1 +63 12.5 +64 12.4 +39 13.8 +51 13.2 +68 14.0 +76 12.6 +53 12.1 +71 13.5 +47 13.8 +87 14.1 +72 12.9 +48 12.1 +75 12.8 +51 13.4 +63 13.9 +61 12.5 +61 12.4 +66 12.8 +82 12.9 +81 13.6 +46 +52 +71 +73 +58 +57 +46 +58 +52 13.5 +71 13.2 +57 12.8 +78 14.1 +73 12.1 +50 12.6 +71 +51 +51 +68 +84 +64 +66 +65 +52 +56 +70 +68 +66 +78 +65 +71 +53 +81 +53 +57 +64 +61 +43 +56 +37 +74 +66 +81 +67 +80 +68 +76 +70 +80 +42 +74 +80 +70 +60 +39 +72 +69 +63 +72 +63 +49 +53 13.2 +43 13.8 +51 12.5 +63 12.6 +64 12.9 +65 13.0 +64 12.5 +66 12.0 +55 +62 +58 +48 +67 +46 +36 +61 +55 +77 +74 +60 +70 +69 +57 +49 +63 +69 +63 +76 +53 +54 +42 +64 +66 +61 +62 +73 +73 +60 +79 +40 +48 +76 +60 +76 +54 +69 +65 +69 +51 +54 +82 +end data. + +npar tests + /k-s (normal) = foo bar. +]) + +AT_CHECK([pspp -O format=csv ks-normal.sps], [0], [dnl +Table: One-Sample Kolmogorov-Smirnov Test +,,foo,bar +N,,174,48 +Normal Parameters,Mean,62.109,13.108 +,Std. Deviation,11.548,.718 +Most Extreme Differences,Absolute,.059,.115 +,Positive,.055,.115 +,Negative,-.059,-.082 +Kolmogorov-Smirnov Z,,.785,.795 +Asymp. Sig. (2-tailed),,.569,.552 +]) + + +AT_CLEANUP + + +AT_SETUP([NPAR TESTS Median Test (median imputed)]) + +AT_DATA([median1.sps], [dnl +set format F12.3. +data list notable list /ignore * animal * years * w *. +begin data +99 1 10 1 +99 4 1 1 +99 5 11 1 +99 5 10 1 +99 3 7 1 +99 6 10 1 +99 0 7 1 +99 3 14 1 +99 2 3 1 +99 1 1 1 +99 4 7 1 +99 5 12 1 +99 3 6 1 +99 4 1 1 +99 3 5 1 +99 5 7 1 +99 4 6 1 +99 3 14 1 +99 4 8 1 +99 5 13 1 +99 2 0 1 +99 4 7 1 +99 4 7 1 +99 1 0 1 +99 2 8 1 +99 4 10 1 +99 2 3 1 +99 2 0 1 +99 4 8 1 +99 1 8 1 +end data. + + +variable label years 'Years expected'. +variable label animal 'Animal Genus'. + +add value labels animal 1 'Animal 1' 2 'Animal 2' 3 'Animal 3' 4 'Animal 4' 5 'Animal 5'. + +npar tests + /median = years by animal (1, 5) + . +]) + + +AT_CHECK([pspp -O format=csv median1.sps], [0], [dnl +Table: Frequencies +,,Animal Genus,,,, +,,Animal 1,Animal 2,Animal 3,Animal 4,Animal 5 +Years expected,> Median,2,1,2,3,4 +,≤ Median,2,4,3,6,1 + +Table: Test Statistics +,N,Median,Chi-Square,df,Asymp. Sig. +Years expected,28,7.000,4.317,4,.365 +]) + +AT_CLEANUP + + +AT_SETUP([NPAR TESTS Median Test (median given)]) + +AT_DATA([median2.sps], [dnl +set format F12.3. +data list notable list /ignore * animal * years * w *. +begin data +99 1 10 1 +99 4 1 1 +99 5 11 1 +99 5 10 1 +99 3 7 1 +99 3 14 1 +99 2 3 1 +99 1 1 1 +99 4 7 1 +99 5 12 1 +99 3 6 1 +99 4 1 1 +99 3 5 1 +99 5 7 1 +99 4 6 1 +99 3 14 1 +99 4 8 1 +99 5 13 1 +99 2 0 1 +99 4 7 1 +99 4 7 1 +99 1 0 1 +99 2 8 1 +99 4 10 1 +99 2 3 1 +99 2 0 1 +99 4 8 1 +99 1 8 1 +end data. + + +variable label years 'Years expected'. +variable label animal 'Animal Genus'. + +add value labels animal 1 'Animal 1' 2 'Animal 2' 3 'Animal 3' 4 'Animal 4' 5 'Animal 5'. + +npar tests + /median (7) = years by animal (1, 5) + . +]) + + +AT_CHECK([pspp -O format=csv median2.sps], [0], [dnl +Table: Frequencies +,,Animal Genus,,,, +,,Animal 1,Animal 2,Animal 3,Animal 4,Animal 5 +Years expected,> Median,2,1,2,3,4 +,≤ Median,2,4,3,6,1 + +Table: Test Statistics +,N,Median,Chi-Square,df,Asymp. Sig. +Years expected,28,7.000,4.317,4,.365 +]) + +AT_CLEANUP + + +AT_SETUP([NPAR TESTS Median Test (two sample)]) + +AT_DATA([median3.sps], [dnl +set format F12.3. +data list notable list /xx * animal * years * w *. +begin data +99 1 10 1 +99 4 1 1 +99 5 11 1 +99 5 10 1 +99 3 7 1 +99 3 14 1 +99 2 3 1 +99 1 1 1 +99 4 7 1 +99 5 12 1 +99 3 6 1 +99 4 1 1 +99 3 5 1 +99 5 7 1 +99 4 6 1 +99 3 14 1 +99 4 8 1 +99 5 13 1 +99 2 0 1 +99 4 7 1 +99 4 7 1 +99 1 0 1 +99 2 8 1 +99 4 10 1 +99 2 3 1 +99 2 0 1 +99 4 8 1 +99 1 8 1 +end data. + + +variable label years 'Years expected'. +variable label animal 'Animal Genus'. + +add value labels animal 1 'Animal 1' 2 'Animal 2' 3 'Animal 3' 4 'Animal 4' 5 'Animal 5'. + +npar tests + /median (7) = xx years by animal (5, 1) + . +]) + + +AT_CHECK([pspp -O format=csv median3.sps], [0], [dnl +Table: Frequencies +,,Animal Genus, +,,Animal 1,Animal 5 +xx,> Median,4,5 +,≤ Median,0,0 +Years expected,> Median,2,4 +,≤ Median,2,1 + +Table: Test Statistics +,N,Median,Chi-Square,df,Asymp. Sig. +xx,9,7.000,NaN,1,NaN +Years expected,9,7.000,.900,1,.343 +]) + +AT_CLEANUP + + +AT_SETUP([NPAR TESTS Jonckheere-Terpstra]) + +AT_DATA([jt.sps], [dnl +set format = F12.3. +data list notable list /x * g * w *. +begin data. +52 2 2 +58 2 1 +60 2 1 +62 2 1 +58 0 1 +44 2 1 +46 2 1 +14 3 1 +32 2 1 +16 3 1 +56 2 1 +26 3 1 +40 3 2 +50 4 1 +6 5 1 +34 2 3 +36 2 2 +40 2 2 +50 2 1 +end data. + +weight by w. + +npar test /jonckheere-terpstra = x by g (5, 2). +]) + + +AT_CHECK([pspp -O format=csv jt.sps], [0], [dnl +Table: Jonckheere-Terpstra Test +,Number of levels in g,N,Observed J-T Statistic,Mean J-T Statistic,Std. Deviation of J-T Statistic,Std. J-T Statistic,Asymp. Sig. (2-tailed) +x,4,24.000,29.500,65.000,15.902,-2.232,.026 +]) + +AT_CLEANUP + +dnl Checks that (PAIRED) can have lists where the same +dnl variable appears more than once. +AT_SETUP([NPAR TESTS (PAIRED)]) +AT_DATA([npar.sps], [dnl +set format = F12.3. +data list notable list /a * b * c *. +begin data. +1 2 4 +4 5 3 +1 2 2 +4 5 1 +end data. + +npar tests /wilcoxon a b with c c (paired). +]) + +AT_CHECK([pspp -O format=csv npar.sps], [0], [dnl +Table: Ranks +,,N,Mean Rank,Sum of Ranks +a - c,Negative Ranks,2,2.500,5.000 +,Positive Ranks,2,2.500,5.000 +,Ties,0,, +,Total,4,, +b - c,Negative Ranks,1,1.500,1.500 +,Positive Ranks,2,2.250,4.500 +,Ties,1,, +,Total,4,, + +Table: Test Statistics +,a - c,b - c +Z,.000,-.816 +Asymp. Sig. (2-tailed),1.000,.414 +]) + + +AT_CLEANUP + + + +AT_SETUP([NPAR TESTS CHISQUARE crash]) +dnl This syntax had been observed to crash pspp + +AT_DATA([npar.sps], [dnl +data list list /x *. +begin data. +1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +end data. + +* This happens to be invalid syntax. But should not crash. +NPAR TEST + /CHISQUARE= x(0.098, 99.098) + /EXPECTED = 1.2. +]) + +AT_CHECK([pspp -O format=csv npar.sps], [1], [ignore]) + +AT_CLEANUP + + +AT_SETUP([NPAR TESTS - crash on invalid syntax]) + +AT_DATA([npar.sps], [dnl +data list notable list /ev * xscore *. +begin data. +2 109 +3 115 +1 61 +1 101 +3 147 +end data. + + +npar tests + /kruskal-wallis xscore by(gv (1, 3). +]) + +AT_CHECK([pspp -O format=csv npar.sps], [1], [ignore]) + +AT_CLEANUP + + + + +AT_SETUP([NPAR TESTS - crash on unterminated string]) + +AT_DATA([npar.sps], [dnl +DATA LIST NOTABLE LIST /x * y * w * . +BEGIN DATA. +3.1 1 4 +3.2 2 1 +4 2 6 +END DATA. + + +NPAR TESTS +" CHISQUARE=x y(-2,5) + /STATISTICS=DESCRIPTIVES + . ]) +AT_CHECK([pspp -O format=csv npar.sps], [1], [ignore]) AT_CLEANUP + \ No newline at end of file