1 AT_BANNER([FREQUENCIES procedure])
3 AT_SETUP([FREQUENCIES string variable])
4 AT_DATA([frequencies.sps],
6 name (A8) value * quantity .
21 FREQUENCIES /VAR = name/ORDER=ANALYSIS.
23 AT_CHECK([pspp -O format=csv frequencies.sps], [0], [dnl
25 Value Label,Value,Frequency,Percent,Valid Percent,Cum Percent
26 ,bar ,2,20.00,20.00,20.00
27 ,baz ,4,40.00,40.00,60.00
28 ,foo ,2,20.00,20.00,80.00
29 ,quux ,2,20.00,20.00,100.00
30 Total,,10,100.0,100.0,
34 # Tests for a bug where pspp would crash if two FREQUENCIES commands
35 # existed in a input file.
36 AT_SETUP([FREQUENCIES two runs crash])
37 AT_DATA([frequencies.sps],
38 [data list free /v1 v2.
46 frequencies v1 v2/statistics=none/ORDER=VARIABLE.
47 frequencies v1 v2/statistics=none.
49 AT_CHECK([pspp -O format=csv frequencies.sps], [0],
51 Value Label,Value,Frequency,Percent,Valid Percent,Cum Percent
52 ,.00,1,25.00,25.00,25.00
53 ,2.00,1,25.00,25.00,50.00
54 ,3.00,1,25.00,25.00,75.00
55 ,4.00,1,25.00,25.00,100.00
59 Value Label,Value,Frequency,Percent,Valid Percent,Cum Percent
60 ,1.00,1,25.00,25.00,25.00
61 ,3.00,1,25.00,25.00,50.00
62 ,4.00,1,25.00,25.00,75.00
63 ,5.00,1,25.00,25.00,100.00
67 Value Label,Value,Frequency,Percent,Valid Percent,Cum Percent
68 ,.00,1,25.00,25.00,25.00
69 ,2.00,1,25.00,25.00,50.00
70 ,3.00,1,25.00,25.00,75.00
71 ,4.00,1,25.00,25.00,100.00
75 Value Label,Value,Frequency,Percent,Valid Percent,Cum Percent
76 ,1.00,1,25.00,25.00,25.00
77 ,3.00,1,25.00,25.00,50.00
78 ,4.00,1,25.00,25.00,75.00
79 ,5.00,1,25.00,25.00,100.00
84 # Tests for a bug where PSPP would crash when a FREQUENCIES command
85 # was used with the HTML output driver.
86 AT_SETUP([FREQUENCIES HTML output crash])
87 AT_DATA([frequencies.sps],
88 [data list free /v1 v2.
98 frequencies v1/statistics=none.
100 AT_CHECK([pspp -o - -O format=csv -o pspp.html frequencies.sps], [0],
109 Value Label,Value,Frequency,Percent,Valid Percent,Cum Percent
110 ,.00,1,25.00,25.00,25.00
111 ,2.00,1,25.00,25.00,50.00
112 ,3.00,1,25.00,25.00,75.00
113 ,4.00,1,25.00,25.00,100.00
114 Total,,4,100.0,100.0,
116 AT_CHECK([test -s pspp.html])
119 # Tests for a bug which crashed PSPP when a piechart with too many
120 # segments was requested.
121 AT_SETUP([FREQUENCIES pie chart crash])
122 AT_DATA([frequencies.sps],
123 [data list list /x * w *.
140 frequencies /x /format=notable /statistics=none
143 # Cannot use the CSV driver for this because it does not output charts
145 AT_CHECK([pspp frequencies.sps], [0], [dnl
146 Reading free-form data from INLINE.
156 dnl Check that histogram subcommand runs wihout crashing
157 AT_SETUP([FREQUENCIES histogram crash])
158 AT_DATA([frequencies.sps],
159 [data list notable list /x * w *.
179 /histogram=minimum(0) maximum(50) percent(5) normal.
181 # Cannot use the CSV driver for this because it does not output charts
183 AT_CHECK([pspp -O format=pdf frequencies.sps], [0], [ignore])
186 # Tests for a bug which crashed PSPP when the median and a histogram
187 # were both requested.
188 AT_SETUP([FREQUENCIES median with histogram crash])
189 AT_DATA([frequencies.sps], [dnl
190 data list list notable /x.
195 frequencies /x /histogram /STATISTICS=median.
197 AT_CHECK([pspp -O format=csv frequencies.sps], [0], [ignore])
198 dnl Ignore output - No crash test.
201 # Tests for a bug which caused FREQUENCIES following TEMPORARY to
202 # crash (bug #11492).
203 AT_SETUP([FREQUENCIES crash after TEMPORARY])
204 AT_DATA([frequencies.sps],
205 [DATA LIST LIST /SEX (A1) X *.
224 AT_CHECK([pspp -O format=csv frequencies.sps], [0],
225 [Table: Reading free-form data from INLINE.
231 Value Label,Value,Frequency,Percent,Valid Percent,Cum Percent
232 ,12.00,1,25.00,25.00,25.00
233 ,13.00,1,25.00,25.00,50.00
234 ,21.00,1,25.00,25.00,75.00
235 ,31.00,1,25.00,25.00,100.00
236 Total,,4,100.0,100.0,
248 m4_define([FREQUENCIES_NTILES_OUTPUT],
264 AT_SETUP([FREQUENCIES basic percentiles])
265 AT_DATA([frequencies.sps],
266 [DATA LIST LIST notable /x * .
278 /PERCENTILES = 0 25 33.333 50 66.666 75 100.
280 AT_CHECK([pspp -O format=csv frequencies.sps], [0],
281 [FREQUENCIES_NTILES_OUTPUT])
284 AT_SETUP([FREQUENCIES basic n-tiles])
285 AT_DATA([frequencies.sps],
286 [DATA LIST LIST notable /x * .
301 AT_CHECK([pspp -O format=csv frequencies.sps], [0],
302 [FREQUENCIES_NTILES_OUTPUT])
305 AT_SETUP([FREQUENCIES compatibility percentiles])
306 AT_DATA([frequencies.sps],
307 [DATA LIST LIST notable /X * .
318 /ALGORITHM=COMPATIBLE
319 /PERCENTILES = 0 25 50 75 100.
321 AT_CHECK([pspp -O format=csv frequencies.sps], [0],
323 Value Label,Value,Frequency,Percent,Valid Percent,Cum Percent
324 ,1.00,1,20.00,20.00,20.00
325 ,2.00,1,20.00,20.00,40.00
326 ,3.00,1,20.00,20.00,60.00
327 ,4.00,1,20.00,20.00,80.00
328 ,5.00,1,20.00,20.00,100.00
329 Total,,5,100.0,100.0,
346 AT_SETUP([FREQUENCIES enhanced percentiles])
347 AT_DATA([frequencies.sps],
348 [DATA LIST LIST notable /X * .
359 /PERCENTILES = 0 25 50 75 100.
361 AT_CHECK([pspp -O format=csv frequencies.sps], [0],
363 Value Label,Value,Frequency,Percent,Valid Percent,Cum Percent
364 ,1.00,1,20.00,20.00,20.00
365 ,2.00,1,20.00,20.00,40.00
366 ,3.00,1,20.00,20.00,60.00
367 ,4.00,1,20.00,20.00,80.00
368 ,5.00,1,20.00,20.00,100.00
369 Total,,5,100.0,100.0,
386 AT_SETUP([FREQUENCIES enhanced percentiles, weighted])
387 AT_DATA([frequencies.sps],
388 [DATA LIST LIST notable /X * F *.
403 /PERCENTILES = 0 25 50 75 100.
405 AT_CHECK([pspp -O format=csv frequencies.sps], [0],
407 Value Label,Value,Frequency,Percent,Valid Percent,Cum Percent
408 ,1.00,2.00,20.00,20.00,20.00
409 ,2.00,2.00,20.00,20.00,40.00
410 ,3.00,2.00,20.00,20.00,60.00
411 ,4.00,2.00,20.00,20.00,80.00
412 ,5.00,2.00,20.00,20.00,100.00
413 Total,,10.00,100.0,100.0,
430 AT_SETUP([FREQUENCIES enhanced percentiles, weighted (2)])
431 AT_DATA([frequencies.sps],
432 [DATA LIST LIST notable /X * F *.
445 /PERCENTILES = 0 25 50 75 100.
447 AT_CHECK([pspp -O format=csv frequencies.sps], [0],
449 Value Label,Value,Frequency,Percent,Valid Percent,Cum Percent
450 ,1.00,1.00,16.67,16.67,16.67
451 ,3.00,2.00,33.33,33.33,50.00
452 ,4.00,1.00,16.67,16.67,66.67
453 ,5.00,2.00,33.33,33.33,100.00
454 Total,,6.00,100.0,100.0,
471 dnl Data for this test case from Fabio Bordignon <bordignon@demos.it>.
472 AT_SETUP([FREQUENCIES enhanced percentiles, weighted (3)])
473 AT_DATA([frequencies.sps],
474 [DATA LIST LIST notable /X * F *.
486 /PERCENTILES = 0 25 50 75 100.
488 AT_CHECK([pspp -O format=csv frequencies.sps], [0], [dnl
490 Value Label,Value,Frequency,Percent,Valid Percent,Cum Percent
491 ,1.00,7.00,17.50,17.50,17.50
492 ,2.00,16.00,40.00,40.00,57.50
493 ,3.00,12.00,30.00,30.00,87.50
494 ,4.00,5.00,12.50,12.50,100.00
495 Total,,40.00,100.0,100.0,
512 AT_SETUP([FREQUENCIES enhanced percentiles, weighted, missing values])
513 AT_DATA([frequencies.sps],
514 [DATA LIST LIST notable /X * F *.
524 MISSING VALUE x (99.0) .
529 /PERCENTILES = 0 25 50 75 100.
532 AT_CHECK([pspp -O format=csv frequencies.sps], [0],
534 Value Label,Value,Frequency,Percent,Valid Percent,Cum Percent
535 ,1.00,1.00,10.00,16.67,16.67
536 ,3.00,2.00,20.00,33.33,50.00
537 ,4.00,1.00,10.00,16.67,66.67
538 ,5.00,2.00,20.00,33.33,100.00
539 ,99.00,4.00,40.00,Missing,
540 Total,,10.00,100.0,100.0,
557 AT_SETUP([FREQUENCIES dichotomous histogram])
558 AT_DATA([frequencies.sps], [dnl
559 data list notable list /d4 *.
587 AT_CHECK([pspp frequencies.sps], [0], [ignore])
591 AT_SETUP([FREQUENCIES median])
592 AT_DATA([median.sps], [dnl
593 data list notable list /x *.
606 AT_CHECK([pspp median.sps -O format=csv], [0], [dnl
608 Value Label,Value,Frequency,Percent,Valid Percent,Cum Percent
609 ,1.00,1,33.33,33.33,33.33
610 ,2.00,1,33.33,33.33,66.67
611 ,3000000.00,1,33.33,33.33,100.00
612 Total,,3,100.0,100.0,
617 Percentiles,50 (Median),2.00
623 AT_SETUP([FREQUENCIES default statistics])
624 AT_DATA([median.sps], [dnl
625 data list notable list /x *.
639 /STATISTICS = DEFAULT
643 AT_CHECK([pspp median.sps -O format=csv], [0], [dnl
645 Value Label,Value,Frequency,Percent,Valid Percent,Cum Percent
646 ,10.00,1,33.33,33.33,33.33
647 ,20.00,1,33.33,33.33,66.67
648 ,3000000.00,1,33.33,33.33,100.00
649 Total,,3,100.0,100.0,
660 Value Label,Value,Frequency,Percent,Valid Percent,Cum Percent
661 ,10.00,1,33.33,33.33,33.33
662 ,20.00,1,33.33,33.33,66.67
663 ,3000000.00,1,33.33,33.33,100.00
664 Total,,3,100.0,100.0,
678 AT_SETUP([FREQUENCIES no valid data])
679 AT_DATA([empty.sps], [dnl
680 data list notable list /x *.
693 AT_CHECK([pspp empty.sps -O format=csv], [0], [dnl
695 Value Label,Value,Frequency,Percent,Valid Percent,Cum Percent
696 ,. ,3,100.00,Missing,
697 Total,,3,100.0,100.0,