1 dnl PSPP - a program for statistical analysis.
2 dnl Copyright (C) 2017 Free Software Foundation, Inc.
4 dnl This program is free software: you can redistribute it and/or modify
5 dnl it under the terms of the GNU General Public License as published by
6 dnl the Free Software Foundation, either version 3 of the License, or
7 dnl (at your option) any later version.
9 dnl This program is distributed in the hope that it will be useful,
10 dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
11 dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 dnl GNU General Public License for more details.
14 dnl You should have received a copy of the GNU General Public License
15 dnl along with this program. If not, see <http://www.gnu.org/licenses/>.
17 AT_BANNER([DESCRIPTIVES procedure])
19 AT_SETUP([DESCRIPTIVES basics])
20 AT_DATA([descriptives.sps],
21 [title 'Test DESCRIPTIVES procedure'.
23 data list / V0 to V16 1-17.
37 descript all/stat=all/format=serial.
39 AT_CHECK([pspp -O format=csv descriptives.sps], [0], [dnl
40 Table: Reading 1 record from INLINE.
41 Variable,Record,Columns,Format
60 Table: Descriptive Statistics
61 ,N,Mean,S.E. Mean,Std Dev,Variance,Kurtosis,S.E. Kurt,Skewness,S.E. Skew,Range,Minimum,Maximum,Sum
62 V0,10,3.80,.84,2.66,7.07,-.03,1.33,.89,.69,8.00,1,9,38.00
63 V1,10,4.60,.96,3.03,9.16,-1.39,1.33,-.03,.69,9.00,0,9,46.00
64 V2,10,4.10,1.16,3.67,13.43,-2.02,1.33,.48,.69,8.00,1,9,41.00
65 V3,10,4.10,.87,2.77,7.66,-2.05,1.33,.42,.69,7.00,1,8,41.00
66 V4,10,7.00,.47,1.49,2.22,7.15,1.33,-2.52,.69,5.00,3,8,70.00
67 V5,10,4.90,1.03,3.25,10.54,-1.40,1.33,-.20,.69,9.00,0,9,49.00
68 V6,10,5.90,.80,2.51,6.32,-.29,1.33,-.96,.69,7.00,1,8,59.00
69 V7,10,4.70,1.10,3.47,12.01,-1.99,1.33,-.16,.69,9.00,0,9,47.00
70 V8,10,4.10,1.10,3.48,12.10,-1.93,1.33,.37,.69,9.00,0,9,41.00
71 V9,10,4.30,.87,2.75,7.57,-.87,1.33,.73,.69,8.00,1,9,43.00
72 V10,10,5.50,.85,2.68,7.17,-1.84,1.33,-.33,.69,7.00,2,9,55.00
73 V11,10,6.50,.78,2.46,6.06,-1.28,1.33,-.89,.69,6.00,3,9,65.00
74 V12,10,7.90,.60,1.91,3.66,5.24,1.33,-2.21,.69,6.00,3,9,79.00
75 V13,10,4.30,.99,3.13,9.79,-1.25,1.33,.33,.69,9.00,0,9,43.00
76 V14,10,3.60,1.01,3.20,10.27,-.96,1.33,.81,.69,9.00,0,9,36.00
77 V15,10,3.70,.92,2.91,8.46,-1.35,1.33,.71,.69,7.00,1,8,37.00
78 V16,10,6.40,.91,2.88,8.27,-1.14,1.33,-.92,.69,7.00,2,9,64.00
79 Valid N (listwise),10,,,,,,,,,,,,
80 Missing N (listwise),0,,,,,,,,,,,,
84 m4_define([DESCRIPTIVES_MISSING_DATA],
85 [data list notable / V1 TO V3 1-3.
98 AT_SETUP([DESCRIPTIVES -- excluding missing data])
99 AT_DATA([descriptives.sps],
100 [DESCRIPTIVES_MISSING_DATA
101 descript all/stat=all/format=serial.
103 AT_CHECK([pspp -O format=csv descriptives.sps], [0], [dnl
104 Table: Descriptive Statistics
105 ,N,Mean,S.E. Mean,Std Dev,Variance,Kurtosis,S.E. Kurt,Skewness,S.E. Skew,Range,Minimum,Maximum,Sum
106 V1,1,2.00,. ,. ,. ,. ,. ,. ,. ,.00,2,2,2.00
107 V2,2,2.50,.50,.71,.50,. ,. ,. ,. ,1.00,2,3,5.00
108 V3,3,3.00,.58,1.00,1.00,. ,. ,.00,1.22,2.00,2,4,9.00
109 Valid N (listwise),7,,,,,,,,,,,,
110 Missing N (listwise),6,,,,,,,,,,,,
114 AT_SETUP([DESCRIPTIVES -- including missing data])
115 AT_DATA([descriptives.sps],
116 [DESCRIPTIVES_MISSING_DATA
117 descript all/stat=all/format=serial/missing=include.
119 AT_CHECK([pspp -O format=csv descriptives.sps], [0], [dnl
120 Table: Descriptive Statistics
121 ,N,Mean,S.E. Mean,Std Dev,Variance,Kurtosis,S.E. Kurt,Skewness,S.E. Skew,Range,Minimum,Maximum,Sum
122 V1,5,1.20,.20,.45,.20,5.00,2.00,2.24,.91,1.00,1,2,6.00
123 V2,5,1.60,.40,.89,.80,.31,2.00,1.26,.91,2.00,1,3,8.00
124 V3,5,2.20,.58,1.30,1.70,-1.49,2.00,.54,.91,3.00,1,4,11.00
125 Valid N (listwise),7,,,,,,,,,,,,
126 Missing N (listwise),3,,,,,,,,,,,,
130 AT_SETUP([DESCRIPTIVES -- excluding missing data listwise])
131 AT_DATA([descriptives.sps],
132 [DESCRIPTIVES_MISSING_DATA
133 descript all/stat=all/format=serial/missing=listwise.
135 AT_CHECK([pspp -O format=csv descriptives.sps], [0], [dnl
136 Table: Descriptive Statistics
137 ,N,Mean,S.E. Mean,Std Dev,Variance,Kurtosis,S.E. Kurt,Skewness,S.E. Skew,Range,Minimum,Maximum,Sum
138 V1,1,2.00,. ,. ,. ,. ,. ,. ,. ,.00,2,2,2.00
139 V2,1,3.00,. ,. ,. ,. ,. ,. ,. ,.00,3,3,3.00
140 V3,1,4.00,. ,. ,. ,. ,. ,. ,. ,.00,4,4,4.00
141 Valid N (listwise),1,,,,,,,,,,,,
142 Missing N (listwise),6,,,,,,,,,,,,
146 AT_SETUP([DESCRIPTIVES -- including missing data listwise])
147 AT_DATA([descriptives.sps],
148 [DESCRIPTIVES_MISSING_DATA
149 descript all/stat=all/format=serial/missing=listwise include.
151 AT_CHECK([pspp -O format=csv descriptives.sps], [0], [dnl
152 Table: Descriptive Statistics
153 ,N,Mean,S.E. Mean,Std Dev,Variance,Kurtosis,S.E. Kurt,Skewness,S.E. Skew,Range,Minimum,Maximum,Sum
154 V1,4,1.25,.25,.50,.25,4.00,2.62,2.00,1.01,1.00,1,2,5.00
155 V2,4,1.75,.48,.96,.92,-1.29,2.62,.85,1.01,2.00,1,3,7.00
156 V3,4,2.50,.65,1.29,1.67,-1.20,2.62,.00,1.01,3.00,1,4,10.00
157 Valid N (listwise),4,,,,,,,,,,,,
158 Missing N (listwise),3,,,,,,,,,,,,
162 AT_SETUP([DESCRIPTIVES bug calculating mean only])
163 AT_DATA([descriptives.sps],
166 data list notable / X 1.
176 descript all/stat=mean.
178 AT_CHECK([pspp -O format=csv descriptives.sps], [0], [dnl
179 Table: Descriptive Statistics
182 Valid N (listwise),6,
183 Missing N (listwise),0,
187 dnl Git history shows that this was probably a bug in the PSPP
188 dnl core regarding multipass procedures, not anything specific
190 AT_SETUP([DESCRIPTIVES bug with TEMPORARY])
191 AT_DATA([descriptives.sps], [dnl
192 DATA LIST LIST NOTABLE /id * abc *.
206 DESCRIPTIVES /VAR=abc.
208 AT_CHECK([pspp -O format=csv descriptives.sps], [0], [dnl
209 Table: Descriptive Statistics
210 ,N,Mean,Std Dev,Minimum,Maximum
211 abc,6,3.00,.84,2.00,4.00
212 Valid N (listwise),6,,,,
213 Missing N (listwise),0,,,,
217 AT_SETUP([DESCRIPTIVES -- Z scores])
218 AT_DATA([descriptives.sps], [dnl
219 DATA LIST LIST NOTABLE /a b.
226 DESCRIPTIVES /VAR=a b /SAVE.
229 AT_CHECK([pspp -O format=csv descriptives.sps], [0], [dnl
230 Table: Mapping of Variables to Z-scores
235 Table: Descriptive Statistics
236 ,N,Mean,Std Dev,Minimum,Maximum
237 a,3,2.00,1.00,1.00,3.00
238 b,3,60.00,10.00,50.00,70.00
239 Valid N (listwise),3,,,,
240 Missing N (listwise),0,,,,
244 1.00,50.00,-1.00,-1.00
250 AT_SETUP([DESCRIPTIVES -- Z scores with SPLIT FILE])
251 AT_DATA([descriptives.sps], [dnl
252 DATA LIST LIST NOTABLE /group a b.
264 DESCRIPTIVES /VAR=a b /SAVE.
267 AT_CHECK([pspp -o pspp.csv -o pspp.txt descriptives.sps])
268 AT_CHECK([cat pspp.csv], [0], [dnl
269 Table: Mapping of Variables to Z-scores
278 Table: Descriptive Statistics
279 ,N,Mean,Std Dev,Minimum,Maximum
280 a,3,2.00,1.00,1.00,3.00
281 b,3,60.00,10.00,50.00,70.00
282 Valid N (listwise),3,,,,
283 Missing N (listwise),0,,,,
289 Table: Descriptive Statistics
290 ,N,Mean,Std Dev,Minimum,Maximum
291 a,4,300.00,182.57,100.00,500.00
292 b,4,8000.00,1825.74,6000.00,10000.00
293 Valid N (listwise),4,,,,
294 Missing N (listwise),0,,,,
302 1.00,1.00,50.00,-1.00,-1.00
303 1.00,2.00,60.00,.00,.00
304 1.00,3.00,70.00,1.00,1.00
312 2.00,100.00,6000.00,-1.10,-1.10
313 2.00,200.00,7000.00,-.55,-.55
314 2.00,400.00,9000.00,.55,.55
315 2.00,500.00,10000.00,1.10,1.10
319 dnl Ideally DESCRIPTIVES would not make temporary transformations permanent
320 dnl as it does now (bug #38786), so these results are imperfect. However,
321 dnl this test does verify that DESCRIPTIVES does not crash in this situation
322 dnl (as it once did).
323 AT_SETUP([DESCRIPTIVES -- Z scores bug with TEMPORARY])
324 AT_DATA([descriptives.sps], [dnl
325 DATA LIST LIST NOTABLE /id abc.
339 DESCRIPTIVES /VAR=abc/SAVE.
342 AT_CHECK([pspp -o pspp.csv -o pspp.txt descriptives.sps], [0], [dnl
343 descriptives.sps:15: warning: DESCRIPTIVES: DESCRIPTIVES with Z scores ignores TEMPORARY. Temporary transformations will be made permanent.
345 AT_CHECK([cat pspp.csv], [0], [dnl
346 descriptives.sps:15: warning: DESCRIPTIVES: DESCRIPTIVES with Z scores ignores TEMPORARY. Temporary transformations will be made permanent.
348 Table: Mapping of Variables to Z-scores
352 Table: Descriptive Statistics
353 ,N,Mean,Std Dev,Minimum,Maximum
354 abc,6,3.00,.84,2.00,4.00
355 Valid N (listwise),6,,,,
356 Missing N (listwise),0,,,,
369 dnl This test was supplied by Mindaugus as part of the report for bug #42012.
370 AT_SETUP([DESCRIPTIVES -- Z scores with FILTER])
371 AT_DATA([descriptives.sps], [dnl
372 DATA LIST LIST/filter1 filter2 x.
386 DESCRIPTIVES /VARIABLES=X /SAVE.
390 DESCRIPTIVES /VARIABLES=X /SAVE.
393 SORT CASES BY filter1.
394 SPLIT FILE BY filter1.
395 DESCRIPTIVES /VARIABLES=X /SAVE.
398 SPLIT FILE BY filter1.
399 DESCRIPTIVES /VARIABLES=X /SAVE.
402 SORT CASES BY filter1 filter2.
403 SPLIT FILE BY filter1 filter2.
404 DESCRIPTIVES /VARIABLES=X /SAVE.
410 AT_CHECK([pspp -o pspp.csv descriptives.sps])
411 AT_CHECK([sed -n '/Table: Data List/,$p' < pspp.csv], [0], [dnl
413 filter1,filter2,x,Zx,ZSC001,ZSC002,ZSC003,ZSC004
414 .00,.00,300.00,1.94,. ,1.00,. ,. @&t@
415 .00,1.00,200.00,1.07,. ,.00,.71,.71
416 .00,1.00,100.00,.20,. ,-1.00,-.71,-.71
417 1.00,.00,5.00,-.62,1.26,1.26,. ,.71
418 1.00,.00,4.00,-.63,.63,.63,. ,-.71
419 1.00,1.00,3.00,-.64,.00,.00,1.00,1.00
420 1.00,1.00,2.00,-.65,-.63,-.63,.00,.00
421 1.00,1.00,1.00,-.66,-1.26,-1.26,-1.00,-1.00
425 dnl This is an example from doc/tutorial.texi
426 dnl So if the results of this have to be changed in any way,
427 dnl make sure to update that file.
428 AT_SETUP([DESCRIPTIVES tutorial example])
429 cp $top_srcdir/examples/physiology.sav .
430 AT_DATA([descriptives.sps], [dnl
431 GET FILE='physiology.sav'.
432 DESCRIPTIVES sex, weight, height.
434 AT_CHECK([pspp -o pspp.csv -o pspp.txt descriptives.sps])
435 AT_CHECK([cat pspp.csv], [0], [dnl
436 Table: Descriptive Statistics
437 ,N,Mean,Std Dev,Minimum,Maximum
438 Sex of subject ,40,.45,.50,Male,Female
439 Weight in kilograms ,40,72.12,26.70,-55.6,92.1
440 Height in millimeters ,40,1677.12,262.87,179,1903
441 Valid N (listwise),40,,,,
442 Missing N (listwise),0,,,,