X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=tests%2Flanguage%2Fstats%2Ffrequencies.at;h=cf7913b40d57e8d4509f2b2b38da2437f8411679;hb=5dbf5abcbed01f04422d4dead1c0ae0bb7efde4f;hp=6ac8def6f5217838e96f9163606dce86aaf598ea;hpb=18e3610ace8a5286d301e2f8ebd62bb579b2ea96;p=pspp diff --git a/tests/language/stats/frequencies.at b/tests/language/stats/frequencies.at index 6ac8def6f5..cf7913b40d 100644 --- a/tests/language/stats/frequencies.at +++ b/tests/language/stats/frequencies.at @@ -1,3 +1,19 @@ +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([FREQUENCIES procedure]) AT_SETUP([FREQUENCIES string variable]) @@ -18,7 +34,7 @@ quux 5 8 END DATA. EXECUTE. -FREQUENCIES /VAR = name. +FREQUENCIES /VAR = name/ORDER=ANALYSIS. ]) AT_CHECK([pspp -O format=csv frequencies.sps], [0], [dnl Table: name @@ -43,7 +59,7 @@ begin data. 3 4 end data. -frequencies v1 v2/statistics=none. +frequencies v1 v2/statistics=none/ORDER=VARIABLE. frequencies v1 v2/statistics=none. ]) AT_CHECK([pspp -O format=csv frequencies.sps], [0], @@ -81,6 +97,29 @@ Total,,4,100.0,100.0, ]) AT_CLEANUP +# Test that the LIMIT specification works. +AT_SETUP([FREQUENCIES with LIMIT]) +AT_DATA([frequencies.sps], + [data list free /v1 v2. +begin data. +0 1 +2 5 +4 3 +3 5 +end data. + +frequencies v1 v2/statistics=none/FORMAT=LIMIT(3). +]) +AT_CHECK([pspp -O format=csv frequencies.sps], [0], [dnl +Table: v2 +Value Label,Value,Frequency,Percent,Valid Percent,Cum Percent +,1.00,1,25.00,25.00,25.00 +,3.00,1,25.00,25.00,50.00 +,5.00,2,50.00,50.00,100.00 +Total,,4,100.0,100.0, +]) +AT_CLEANUP + # Tests for a bug where PSPP would crash when a FREQUENCIES command # was used with the HTML output driver. AT_SETUP([FREQUENCIES HTML output crash]) @@ -617,3 +656,177 @@ N,Valid,3 Percentiles,50 (Median),2.00 ]) AT_CLEANUP + +AT_SETUP([FREQUENCIES variance]) +AT_DATA([variance.sps], [dnl +data list notable list /forename (A12) height. +begin data. +Ahmed 188 +bertram 167 +Catherine 134 +David 109 +end data. + +FREQUENCIES + /VARIABLES = height + /STATISTICS = VARIANCE. +]) + +AT_CHECK([pspp variance.sps -O format=csv], [0], [dnl +Table: height +Value Label,Value,Frequency,Percent,Valid Percent,Cum Percent +,109.00,1,25.00,25.00,25.00 +,134.00,1,25.00,25.00,50.00 +,167.00,1,25.00,25.00,75.00 +,188.00,1,25.00,25.00,100.00 +Total,,4,100.0,100.0, + +Table: height +N,Valid,4 +,Missing,0 +Variance,,1223.00 +]) +AT_CLEANUP + +AT_SETUP([FREQUENCIES default statistics]) +AT_DATA([median.sps], [dnl +data list notable list /x *. +begin data. +10 +20 +3000000 +end data. + +FREQUENCIES + /VARIABLES = x + /STATISTICS + . + +FREQUENCIES + /VARIABLES = x + /STATISTICS = DEFAULT + . +]) + +AT_CHECK([pspp median.sps -O format=csv], [0], [dnl +Table: x +Value Label,Value,Frequency,Percent,Valid Percent,Cum Percent +,10.00,1,33.33,33.33,33.33 +,20.00,1,33.33,33.33,66.67 +,3000000.00,1,33.33,33.33,100.00 +Total,,3,100.0,100.0, + +Table: x +N,Valid,3 +,Missing,0 +Mean,,1000010.00 +Std Dev,,1732042.15 +Minimum,,10.00 +Maximum,,3000000.00 + +Table: x +Value Label,Value,Frequency,Percent,Valid Percent,Cum Percent +,10.00,1,33.33,33.33,33.33 +,20.00,1,33.33,33.33,66.67 +,3000000.00,1,33.33,33.33,100.00 +Total,,3,100.0,100.0, + +Table: x +N,Valid,3 +,Missing,0 +Mean,,1000010.00 +Std Dev,,1732042.15 +Minimum,,10.00 +Maximum,,3000000.00 +]) +AT_CLEANUP + + + +AT_SETUP([FREQUENCIES no valid data]) +AT_DATA([empty.sps], [dnl +data list notable list /x *. +begin data. +. +. +. +end data. + +FREQUENCIES + /VARIABLES = x + /STATISTICS = ALL + . +]) + +AT_CHECK([pspp empty.sps -O format=csv], [0], [dnl +Table: x +Value Label,Value,Frequency,Percent,Valid Percent,Cum Percent +,. ,3,100.00,Missing, +Total,,3,100.0,100.0, + +Table: x +N,Valid,0 +,Missing,3 +Mean,,. +S.E. Mean,,. +Mode,,. +Std Dev,,. +Variance,,. +Kurtosis,,. +S.E. Kurt,,. +Skewness,,. +S.E. Skew,,. +Range,,. +Minimum,,. +Maximum,,. +Sum,,. +Percentiles,,. +]) + +AT_CLEANUP + + +AT_SETUP([FREQUENCIES histogram no valid cases]) +AT_DATA([empty.sps], [dnl +data list notable list /x w *. +begin data. +1 . +2 . +3 . +end data. + +weight by w. + +FREQUENCIES + /VARIABLES = x + /histogram + . +]) + +AT_CHECK([pspp empty.sps -O format=csv], [0], [ignore]) + +AT_CLEANUP + +AT_SETUP([FREQUENCIES percentiles + histogram bug#48128]) +AT_DATA([bug.sps], [dnl +SET FORMAT=F8.0. + +INPUT PROGRAM. + LOOP I=1 TO 10. + COMPUTE SCORE=EXP(NORMAL(1)). + END CASE. + END LOOP. + END FILE. +END INPUT PROGRAM. + +FREQUENCIES VARIABLES=SCORE +/FORMAT=NOTABLE +/STATISTICS=ALL +/PERCENTILES=1 10 20 30 40 50 60 70 80 90 99 +/HISTOGRAM. + +]) + +AT_CHECK([pspp bug.sps], [0], [ignore]) + +AT_CLEANUP