Added a cell-padding parameter to the sheet.
[pspp-builds.git] / tests / command / npar-binomial.sh
1 #!/bin/sh
2
3 # This program tests the BINOMIAL subcommand of the NPAR TESTS command.
4
5 TEMPDIR=/tmp/pspp-tst-$$
6 TESTFILE=$TEMPDIR/`basename $0`.sps
7
8 # ensure that top_srcdir and top_builddir  are absolute
9 if [ -z "$top_srcdir" ] ; then top_srcdir=. ; fi
10 if [ -z "$top_builddir" ] ; then top_builddir=. ; fi
11 top_srcdir=`cd $top_srcdir; pwd`
12 top_builddir=`cd $top_builddir; pwd`
13
14 PSPP=$top_builddir/src/ui/terminal/pspp
15
16 STAT_CONFIG_PATH=$top_srcdir/config
17 export STAT_CONFIG_PATH
18
19 LANG=C
20 export LANG
21
22
23 cleanup()
24 {
25      if [ x"$PSPP_TEST_NO_CLEANUP" != x ] ; then 
26         echo "NOT cleaning $TEMPDIR"
27         return ; 
28      fi
29      cd /
30      rm -rf $TEMPDIR
31 }
32
33
34 fail()
35 {
36     echo $activity
37     echo FAILED
38     cleanup;
39     exit 1;
40 }
41
42
43 no_result()
44 {
45     echo $activity
46     echo NO RESULT;
47     cleanup;
48     exit 2;
49 }
50
51 pass()
52 {
53     cleanup;
54     exit 0;
55 }
56
57 mkdir -p $TEMPDIR
58
59 cd $TEMPDIR
60
61
62 # Tests for exact calculations
63 activity="create file 1"
64 cat <<EOF > $TESTFILE
65 ECHO 'P < 0.5; N1/N2 < 1' .
66
67 NEW FILE.
68
69 DATA LIST LIST NOTABLE /x * w *.
70 BEGIN DATA.
71 1   6
72 2   15
73 END DATA.
74
75 WEIGHT BY w.
76
77 NPAR TESTS
78         /BINOMIAL(0.3) = x
79         .
80
81
82 ECHO 'P < 0.5; N1/N2 > 1' .
83
84 NEW FILE.
85
86 DATA LIST LIST NOTABLE /x * w *.
87 BEGIN DATA.
88 1   7
89 2   6
90 END DATA.
91
92 WEIGHT BY w.
93
94 NPAR TESTS
95         /BINOMIAL(0.4) = x
96         .
97
98
99
100 ECHO 'P < 0.5; N1/N2 = 1' .
101
102 NEW FILE.
103
104 DATA LIST LIST NOTABLE /x * w *.
105 BEGIN DATA.
106 1   8
107 2   8
108 END DATA.
109
110 WEIGHT BY w.
111
112 NPAR TESTS
113         /BINOMIAL(0.4) = x
114         .
115
116 ECHO 'P > 0.5; N1/N2 < 1' .
117
118 NEW FILE.
119
120 DATA LIST LIST NOTABLE /x * w *.
121 BEGIN DATA.
122 1   11
123 2   12
124 END DATA.
125
126 WEIGHT BY w.
127
128 NPAR TESTS
129         /BINOMIAL(0.6) = x
130         .
131
132
133 ECHO 'P > 0.5; N1/N2 > 1' .
134
135 NEW FILE.
136
137 DATA LIST LIST NOTABLE /x * w *.
138 BEGIN DATA.
139 1   11
140 2   9
141 END DATA.
142
143 WEIGHT BY w.
144
145 NPAR TESTS
146         /BINOMIAL(0.6) = x
147
148 ECHO 'P > 0.5; N1/N2 == 1' .
149
150 NEW FILE.
151
152 DATA LIST LIST NOTABLE /x * w *.
153 BEGIN DATA.
154 1   11
155 2   11
156 END DATA.
157
158 WEIGHT BY w.
159
160 NPAR TESTS
161         /BINOMIAL(0.6) = x
162         .
163
164 ECHO 'P == 0.5; N1/N2 < 1' .
165
166 NEW FILE.
167
168 DATA LIST LIST NOTABLE /x * w *.
169 BEGIN DATA.
170 1   8
171 2   15
172 END DATA.
173
174 WEIGHT BY w.
175
176 NPAR TESTS
177         /BINOMIAL(0.5) = x
178         .
179
180
181 ECHO 'P == 0.5; N1/N2 > 1' .
182
183 NEW FILE.
184
185 DATA LIST LIST NOTABLE /x * w *.
186 BEGIN DATA.
187 1   12
188 2   6
189 END DATA.
190
191 WEIGHT BY w.
192
193 NPAR TESTS
194         /BINOMIAL(0.5) = x
195
196 ECHO 'P == 0.5; N1/N2 == 1' .
197
198 NEW FILE.
199
200 DATA LIST LIST NOTABLE /x * w *.
201 BEGIN DATA.
202 1   10
203 2   10
204 END DATA.
205
206 WEIGHT BY w.
207
208 NPAR TESTS
209         /BINOMIAL(0.5) = x
210         .
211
212 ECHO 'P == 0.5; N1/N2 == 1 Cutpoint' .
213
214 DATA LIST LIST NOTABLE /x * w *.
215 BEGIN DATA.
216 9    3
217 10   7
218 11   16
219 END DATA.
220
221 WEIGHT BY w.
222
223 NPAR TESTS
224         /BINOMIAL(0.5) = x (10)
225         .
226
227 ECHO 'P == 0.5; N1/N2 == 1 Named values' .
228
229 DATA LIST LIST NOTABLE /x * w *.
230 BEGIN DATA.
231 10   10
232 15   45
233 20   13
234 END DATA.
235
236 WEIGHT BY w.
237
238 NPAR TESTS
239         /BINOMIAL(0.5) = x (10, 20)
240         .
241 EOF
242 if [ $? -ne 0 ] ; then no_result ; fi
243
244
245 activity="run program 1"
246 $SUPERVISOR $PSPP --testing-mode $TESTFILE
247 if [ $? -ne 0 ] ; then no_result ; fi
248
249 activity="compare output 1"
250 perl -pi -e 's/^\s*$//g' $TEMPDIR/pspp.list
251 diff -b $TEMPDIR/pspp.list - << EOF
252 P < 0.5; N1/N2 < 1
253 1.1 NPAR TESTS.  Binomial Test
254 +-+------#--------+--+--------------+----------+---------------------+
255 | |      #Category| N|Observed Prop.|Test Prop.|Exact Sig. (1-tailed)|
256 +-+------#--------+--+--------------+----------+---------------------+
257 |x|Group1#    1.00| 6|          .286|      .300|                 .551|
258 | |Group2#    2.00|15|          .714|          |                     |
259 | |Total #        |21|          1.00|          |                     |
260 +-+------#--------+--+--------------+----------+---------------------+
261 P < 0.5; N1/N2 > 1
262 2.1 NPAR TESTS.  Binomial Test
263 +-+------#--------+--+--------------+----------+---------------------+
264 | |      #Category| N|Observed Prop.|Test Prop.|Exact Sig. (1-tailed)|
265 +-+------#--------+--+--------------+----------+---------------------+
266 |x|Group1#    1.00| 7|          .538|      .400|                 .229|
267 | |Group2#    2.00| 6|          .462|          |                     |
268 | |Total #        |13|          1.00|          |                     |
269 +-+------#--------+--+--------------+----------+---------------------+
270 P < 0.5; N1/N2 = 1
271 3.1 NPAR TESTS.  Binomial Test
272 +-+------#--------+--+--------------+----------+---------------------+
273 | |      #Category| N|Observed Prop.|Test Prop.|Exact Sig. (1-tailed)|
274 +-+------#--------+--+--------------+----------+---------------------+
275 |x|Group1#    1.00| 8|          .500|      .400|                 .284|
276 | |Group2#    2.00| 8|          .500|          |                     |
277 | |Total #        |16|          1.00|          |                     |
278 +-+------#--------+--+--------------+----------+---------------------+
279 P > 0.5; N1/N2 < 1
280 4.1 NPAR TESTS.  Binomial Test
281 +-+------#--------+--+--------------+----------+---------------------+
282 | |      #Category| N|Observed Prop.|Test Prop.|Exact Sig. (1-tailed)|
283 +-+------#--------+--+--------------+----------+---------------------+
284 |x|Group1#    1.00|11|          .478|      .600|                 .164|
285 | |Group2#    2.00|12|          .522|          |                     |
286 | |Total #        |23|          1.00|          |                     |
287 +-+------#--------+--+--------------+----------+---------------------+
288 P > 0.5; N1/N2 > 1
289 5.1 NPAR TESTS.  Binomial Test
290 +-+------#--------+--+--------------+----------+---------------------+
291 | |      #Category| N|Observed Prop.|Test Prop.|Exact Sig. (1-tailed)|
292 +-+------#--------+--+--------------+----------+---------------------+
293 |x|Group1#    1.00|11|          .550|      .600|                 .404|
294 | |Group2#    2.00| 9|          .450|          |                     |
295 | |Total #        |20|          1.00|          |                     |
296 +-+------#--------+--+--------------+----------+---------------------+
297 P > 0.5; N1/N2 == 1
298 6.1 NPAR TESTS.  Binomial Test
299 +-+------#--------+--+--------------+----------+---------------------+
300 | |      #Category| N|Observed Prop.|Test Prop.|Exact Sig. (1-tailed)|
301 +-+------#--------+--+--------------+----------+---------------------+
302 |x|Group1#    1.00|11|          .500|      .600|                 .228|
303 | |Group2#    2.00|11|          .500|          |                     |
304 | |Total #        |22|          1.00|          |                     |
305 +-+------#--------+--+--------------+----------+---------------------+
306 P == 0.5; N1/N2 < 1
307 7.1 NPAR TESTS.  Binomial Test
308 +-+------#--------+--+--------------+----------+---------------------+
309 | |      #Category| N|Observed Prop.|Test Prop.|Exact Sig. (2-tailed)|
310 +-+------#--------+--+--------------+----------+---------------------+
311 |x|Group1#    1.00| 8|          .348|      .500|                 .210|
312 | |Group2#    2.00|15|          .652|          |                     |
313 | |Total #        |23|          1.00|          |                     |
314 +-+------#--------+--+--------------+----------+---------------------+
315 P == 0.5; N1/N2 > 1
316 8.1 NPAR TESTS.  Binomial Test
317 +-+------#--------+--+--------------+----------+---------------------+
318 | |      #Category| N|Observed Prop.|Test Prop.|Exact Sig. (2-tailed)|
319 +-+------#--------+--+--------------+----------+---------------------+
320 |x|Group1#    1.00|12|          .667|      .500|                 .238|
321 | |Group2#    2.00| 6|          .333|          |                     |
322 | |Total #        |18|          1.00|          |                     |
323 +-+------#--------+--+--------------+----------+---------------------+
324 P == 0.5; N1/N2 == 1
325 9.1 NPAR TESTS.  Binomial Test
326 +-+------#--------+--+--------------+----------+---------------------+
327 | |      #Category| N|Observed Prop.|Test Prop.|Exact Sig. (2-tailed)|
328 +-+------#--------+--+--------------+----------+---------------------+
329 |x|Group1#    1.00|10|          .500|      .500|                1.000|
330 | |Group2#    2.00|10|          .500|          |                     |
331 | |Total #        |20|          1.00|          |                     |
332 +-+------#--------+--+--------------+----------+---------------------+
333 P == 0.5; N1/N2 == 1 Cutpoint
334 10.1 NPAR TESTS.  Binomial Test
335 +-+------#--------+--+--------------+----------+---------------------+
336 | |      #Category| N|Observed Prop.|Test Prop.|Exact Sig. (2-tailed)|
337 +-+------#--------+--+--------------+----------+---------------------+
338 |x|Group1#   <= 10|10|          .385|      .500|                 .327|
339 | |Group2#        |16|          .615|          |                     |
340 | |Total #        |26|          1.00|          |                     |
341 +-+------#--------+--+--------------+----------+---------------------+
342 P == 0.5; N1/N2 == 1 Named values
343 11.1 NPAR TESTS.  Binomial Test
344 +-+------#--------+--+--------------+----------+---------------------+
345 | |      #Category| N|Observed Prop.|Test Prop.|Exact Sig. (2-tailed)|
346 +-+------#--------+--+--------------+----------+---------------------+
347 |x|Group1#   10.00|10|          .435|      .500|                 .678|
348 | |Group2#   20.00|13|          .565|          |                     |
349 | |Total #        |23|          1.00|          |                     |
350 +-+------#--------+--+--------------+----------+---------------------+
351 EOF
352 if [ $? -ne 0 ] ; then fail ; fi
353
354
355 pass;