Documented the EXAMINE subcommands. Fixed up the examine test. Fixed a problem...
[pspp-builds.git] / doc / statistics.texi
1 @node Statistics, Utilities, Conditionals and Looping, Top
2 @chapter Statistics
3
4 This chapter documents the statistical procedures that PSPP supports so
5 far.
6
7 @c If you add any new commands, then don't forget to remove the entry in 
8 @c not-implemented.texi
9
10 @menu
11 * DESCRIPTIVES::                Descriptive statistics.
12 * FREQUENCIES::                 Frequency tables.
13 * EXAMINE::                     Testing data for normality.
14 * CROSSTABS::                   Crosstabulation tables.
15 * T-TEST::                      Test hypotheses about means.
16 * ONEWAY::                      One way analysis of variance.
17 @end menu
18
19 @node DESCRIPTIVES, FREQUENCIES, Statistics, Statistics
20 @section DESCRIPTIVES
21
22 @vindex DESCRIPTIVES
23 @display
24 DESCRIPTIVES
25         /VARIABLES=var_list
26         /MISSING=@{VARIABLE,LISTWISE@} @{INCLUDE,NOINCLUDE@}
27         /FORMAT=@{LABELS,NOLABELS@} @{NOINDEX,INDEX@} @{LINE,SERIAL@}
28         /SAVE
29         /STATISTICS=@{ALL,MEAN,SEMEAN,STDDEV,VARIANCE,KURTOSIS,
30                      SKEWNESS,RANGE,MINIMUM,MAXIMUM,SUM,DEFAULT,
31                      SESKEWNESS,SEKURTOSIS@}
32         /SORT=@{NONE,MEAN,SEMEAN,STDDEV,VARIANCE,KURTOSIS,SKEWNESS,
33                RANGE,MINIMUM,MAXIMUM,SUM,SESKEWNESS,SEKURTOSIS,NAME@}
34               @{A,D@}
35 @end display
36
37 The @cmd{DESCRIPTIVES} procedure reads the active file and outputs
38 descriptive
39 statistics requested by the user.  In addition, it can optionally
40 compute Z-scores.
41
42 The VARIABLES subcommand, which is required, specifies the list of
43 variables to be analyzed.  Keyword VARIABLES is optional.
44
45 All other subcommands are optional:
46
47 The MISSING subcommand determines the handling of missing variables.  If
48 INCLUDE is set, then user-missing values are included in the
49 calculations.  If NOINCLUDE is set, which is the default, user-missing
50 values are excluded.  If VARIABLE is set, then missing values are
51 excluded on a variable by variable basis; if LISTWISE is set, then
52 the entire case is excluded whenever any value in that case has a
53 system-missing or, if INCLUDE is set, user-missing value.
54
55 The FORMAT subcommand affects the output format.  Currently the
56 LABELS/NOLABELS and NOINDEX/INDEX settings are not used.  When SERIAL is
57 set, both valid and missing number of cases are listed in the output;
58 when NOSERIAL is set, only valid cases are listed.
59
60 The SAVE subcommand causes @cmd{DESCRIPTIVES} to calculate Z scores for all
61 the specified variables.  The Z scores are saved to new variables.
62 Variable names are generated by trying first the original variable name
63 with Z prepended and truncated to a maximum of 8 characters, then the
64 names ZSC000 through ZSC999, STDZ00 through STDZ09, ZZZZ00 through
65 ZZZZ09, ZQZQ00 through ZQZQ09, in that sequence.  In addition, Z score
66 variable names can be specified explicitly on VARIABLES in the variable
67 list by enclosing them in parentheses after each variable.
68
69 The STATISTICS subcommand specifies the statistics to be displayed:
70
71 @table @code
72 @item ALL
73 All of the statistics below.
74 @item MEAN
75 Arithmetic mean.
76 @item SEMEAN
77 Standard error of the mean.
78 @item STDDEV
79 Standard deviation.
80 @item VARIANCE
81 Variance.
82 @item KURTOSIS
83 Kurtosis and standard error of the kurtosis.
84 @item SKEWNESS
85 Skewness and standard error of the skewness.
86 @item RANGE
87 Range.
88 @item MINIMUM
89 Minimum value.
90 @item MAXIMUM
91 Maximum value.
92 @item SUM
93 Sum.
94 @item DEFAULT
95 Mean, standard deviation of the mean, minimum, maximum.
96 @item SEKURTOSIS
97 Standard error of the kurtosis.
98 @item SESKEWNESS
99 Standard error of the skewness.
100 @end table
101
102 The SORT subcommand specifies how the statistics should be sorted.  Most
103 of the possible values should be self-explanatory.  NAME causes the
104 statistics to be sorted by name.  By default, the statistics are listed
105 in the order that they are specified on the VARIABLES subcommand.  The A
106 and D settings request an ascending or descending sort order,
107 respectively.
108
109 @node FREQUENCIES, EXAMINE, DESCRIPTIVES, Statistics
110 @section FREQUENCIES
111
112 @vindex FREQUENCIES
113 @display
114 FREQUENCIES
115         /VARIABLES=var_list
116         /FORMAT=@{TABLE,NOTABLE,LIMIT(limit)@}
117                 @{STANDARD,CONDENSE,ONEPAGE[(onepage_limit)]@}
118                 @{LABELS,NOLABELS@}
119                 @{AVALUE,DVALUE,AFREQ,DFREQ@}
120                 @{SINGLE,DOUBLE@}
121                 @{OLDPAGE,NEWPAGE@}
122         /MISSING=@{EXCLUDE,INCLUDE@}
123         /STATISTICS=@{DEFAULT,MEAN,SEMEAN,MEDIAN,MODE,STDDEV,VARIANCE,
124                      KURTOSIS,SKEWNESS,RANGE,MINIMUM,MAXIMUM,SUM,
125                      SESKEWNESS,SEKURTOSIS,ALL,NONE@}
126         /NTILES=ntiles
127         /PERCENTILES=percent@dots{}
128
129 (These options are not currently implemented.)
130         /BARCHART=@dots{}
131         /HISTOGRAM=@dots{}
132         /HBAR=@dots{}
133         /GROUPED=@dots{}
134
135 (Integer mode.)
136         /VARIABLES=var_list (low,high)@dots{}
137 @end display
138
139 The @cmd{FREQUENCIES} procedure outputs frequency tables for specified
140 variables.
141 @cmd{FREQUENCIES} can also calculate and display descriptive statistics
142 (including median and mode) and percentiles.
143
144 In the future, @cmd{FREQUENCIES} will also support graphical output in the
145 form of bar charts and histograms.  In addition, it will be able to
146 support percentiles for grouped data.
147
148 The VARIABLES subcommand is the only required subcommand.  Specify the
149 variables to be analyzed.  In most cases, this is all that is required.
150 This is known as @dfn{general mode}.
151
152 Occasionally, one may want to invoke a special mode called @dfn{integer
153 mode}.  Normally, in general mode, PSPP will automatically determine
154 what values occur in the data.  In integer mode, the user specifies the
155 range of values that the data assumes.  To invoke this mode, specify a
156 range of data values in parentheses, separated by a comma.  Data values
157 inside the range are truncated to the nearest integer, then assigned to
158 that value.  If values occur outside this range, they are discarded.
159
160 The FORMAT subcommand controls the output format.  It has several
161 possible settings:  
162
163 @itemize @bullet
164 @item
165 TABLE, the default, causes a frequency table to be output for every
166 variable specified.  NOTABLE prevents them from being output.  LIMIT
167 with a numeric argument causes them to be output except when there are
168 more than the specified number of values in the table.
169
170 @item
171 STANDARD frequency tables contain more complete information, but also to
172 take up more space on the printed page.  CONDENSE frequency tables are
173 less informative but take up less space.  ONEPAGE with a numeric
174 argument will output standard frequency tables if there are the
175 specified number of values or less, condensed tables otherwise.  ONEPAGE
176 without an argument defaults to a threshold of 50 values.
177
178 @item
179 LABELS causes value labels to be displayed in STANDARD frequency
180 tables.  NOLABLES prevents this.
181
182 @item
183 Normally frequency tables are sorted in ascending order by value.  This
184 is AVALUE.  DVALUE tables are sorted in descending order by value.
185 AFREQ and DFREQ tables are sorted in ascending and descending order,
186 respectively, by frequency count.
187
188 @item
189 SINGLE spaced frequency tables are closely spaced.  DOUBLE spaced
190 frequency tables have wider spacing.
191
192 @item
193 OLDPAGE and NEWPAGE are not currently used.
194 @end itemize
195
196 The MISSING subcommand controls the handling of user-missing values.
197 When EXCLUDE, the default, is set, user-missing values are not included
198 in frequency tables or statistics.  When INCLUDE is set, user-missing
199 are included.  System-missing values are never included in statistics,
200 but are listed in frequency tables.
201
202 The available STATISTICS are the same as available in @cmd{DESCRIPTIVES}
203 (@pxref{DESCRIPTIVES}), with the addition of MEDIAN, the data's median
204 value, and MODE, the mode.  (If there are multiple modes, the smallest
205 value is reported.)  By default, the mean, standard deviation of the
206 mean, minimum, and maximum are reported for each variable.
207
208 PERCENTILES causes the specified percentiles to be reported.
209 The percentiles should  be presented at a list of numbers between 0
210 and 100 inclusive.  
211 The NTILES subcommand causes the percentiles to be reported at the
212 boundaries of the data set divided into the specified number of ranges.
213 For instance, @code{/NTILES=4} would cause quartiles to be reported.
214
215
216 @node EXAMINE, CROSSTABS, FREQUENCIES, Statistics
217 @comment  node-name,  next,  previous,  up
218 @section EXAMINE
219 @vindex EXAMINE
220
221 @cindex Normality, testing for
222
223 @display
224 EXAMINE
225         VARIABLES=var_list [BY factor_list ]
226         /STATISTICS=@{DESCRIPTIVES, EXTREME[(n)], ALL, NONE@}
227         /PLOT=@{STEMLEAF, BOXPLOT, NPPLOT, SPREADLEVEL(n), HISTOGRAM, 
228                ALL, NONE@}
229         /CINTERVAL n
230         /COMPARE=@{GROUPS,VARIABLES@}
231         /ID=@{case_number, var_name@}
232         /@{TOTAL,NOTOTAL@}
233         /MISSING=@{LISTWISE, PAIRWISE@} [@{EXCLUDE, INCLUDE@}] 
234                 [@{NOREPORT,REPORT@}]
235
236 @end display
237
238 The @cmd{EXAMINE} command is used to test how closely a distribution is to a 
239 normal distribution.  It also shows you outliers and extreme values.
240
241 The VARIABLES subcommand specifies the dependent variables and the
242 independent variable to use as factors for the analysis.   Variables
243 listed before the first BY keyword are the dependent variables.
244 The dependent variables may optionally be followed by a list of
245 factors which tell PSPP how to break down the analysis for each
246 dependent variable.  The format for each factor is 
247 @display
248 var [BY var].
249 @end display
250
251
252 The STATISTICS subcommand specifies the analysis to be done.  
253 DESCRIPTIVES will produce a table showing some parametric and
254 non-parametrics statistics.  EXTREME produces a table showing extreme
255 values of the dependent variable.  A number in parentheses determines
256 how many upper and lower extremes to show.  The default number is 5.
257
258
259 The PLOT subcommand specifies which plots are to be produced if any.
260
261 The CINTERVAL subcommand specifies the confidence interval to use in
262 calculation of the descriptives command.  The default it 95%.
263
264 The TOTAL and NOTOTAL subcommands are mutually exclusive.  If NOTOTAL
265 is given and factors have been specified in the VARIABLES subcommand,
266 then then statistics for the unfactored dependent variables are
267 produced in addition to the factored variables.  If there are no
268 factors specified then TOTAL and NOTOTAL have no effect.
269
270 @strong{Warning!}
271 If many dependent variable are given, or factors are given for which
272 there are many distinct values, then @cmd{EXAMINE} will produce a very
273 large quantity of output.
274
275
276 @node CROSSTABS, T-TEST, EXAMINE, Statistics
277 @section CROSSTABS
278
279 @vindex CROSSTABS
280 @display
281 CROSSTABS
282         /TABLES=var_list BY var_list [BY var_list]@dots{}
283         /MISSING=@{TABLE,INCLUDE,REPORT@}
284         /WRITE=@{NONE,CELLS,ALL@}
285         /FORMAT=@{TABLES,NOTABLES@}
286                 @{LABELS,NOLABELS,NOVALLABS@}
287                 @{PIVOT,NOPIVOT@}
288                 @{AVALUE,DVALUE@}
289                 @{NOINDEX,INDEX@}
290                 @{BOX,NOBOX@}
291         /CELLS=@{COUNT,ROW,COLUMN,TOTAL,EXPECTED,RESIDUAL,SRESIDUAL,
292                 ASRESIDUAL,ALL,NONE@}
293         /STATISTICS=@{CHISQ,PHI,CC,LAMBDA,UC,BTAU,CTAU,RISK,GAMMA,D,
294                      KAPPA,ETA,CORR,ALL,NONE@}
295         
296 (Integer mode.)
297         /VARIABLES=var_list (low,high)@dots{}
298 @end display
299
300 The @cmd{CROSSTABS} procedure displays crosstabulation
301 tables requested by the user.  It can calculate several statistics for
302 each cell in the crosstabulation tables.  In addition, a number of
303 statistics can be calculated for each table itself.
304
305 The TABLES subcommand is used to specify the tables to be reported.  Any
306 number of dimensions is permitted, and any number of variables per
307 dimension is allowed.  The TABLES subcommand may be repeated as many
308 times as needed.  This is the only required subcommand in @dfn{general
309 mode}.  
310
311 Occasionally, one may want to invoke a special mode called @dfn{integer
312 mode}.  Normally, in general mode, PSPP automatically determines
313 what values occur in the data.  In integer mode, the user specifies the
314 range of values that the data assumes.  To invoke this mode, specify the
315 VARIABLES subcommand, giving a range of data values in parentheses for
316 each variable to be used on the TABLES subcommand.  Data values inside
317 the range are truncated to the nearest integer, then assigned to that
318 value.  If values occur outside this range, they are discarded.  When it
319 is present, the VARIABLES subcommand must precede the TABLES
320 subcommand.
321
322 In general mode, numeric and string variables may be specified on
323 TABLES.  Although long string variables are allowed, only their
324 initial short-string parts are used.  In integer mode, only numeric
325 variables are allowed.
326
327 The MISSING subcommand determines the handling of user-missing values.
328 When set to TABLE, the default, missing values are dropped on a table by
329 table basis.  When set to INCLUDE, user-missing values are included in
330 tables and statistics.  When set to REPORT, which is allowed only in
331 integer mode, user-missing values are included in tables but marked with
332 an @samp{M} (for ``missing'') and excluded from statistical
333 calculations.
334
335 Currently the WRITE subcommand is ignored.
336
337 The FORMAT subcommand controls the characteristics of the
338 crosstabulation tables to be displayed.  It has a number of possible
339 settings:
340
341 @itemize @bullet
342 @item
343 TABLES, the default, causes crosstabulation tables to be output.
344 NOTABLES suppresses them.
345
346 @item
347 LABELS, the default, allows variable labels and value labels to appear
348 in the output.  NOLABELS suppresses them.  NOVALLABS displays variable
349 labels but suppresses value labels.
350
351 @item
352 PIVOT, the default, causes each TABLES subcommand to be displayed in a
353 pivot table format.  NOPIVOT causes the old-style crosstabulation format
354 to be used.
355
356 @item
357 AVALUE, the default, causes values to be sorted in ascending order.
358 DVALUE asserts a descending sort order.
359
360 @item
361 INDEX/NOINDEX is currently ignored.
362
363 @item
364 BOX/NOBOX is currently ignored.
365 @end itemize
366
367 The CELLS subcommand controls the contents of each cell in the displayed
368 crosstabulation table.  The possible settings are:
369
370 @table @asis
371 @item COUNT
372 Frequency count.
373 @item ROW
374 Row percent.
375 @item COLUMN
376 Column percent.
377 @item TOTAL
378 Table percent.
379 @item EXPECTED
380 Expected value.
381 @item RESIDUAL 
382 Residual.
383 @item SRESIDUAL
384 Standardized residual.
385 @item ASRESIDUAL
386 Adjusted standardized residual.
387 @item ALL
388 All of the above.
389 @item NONE
390 Suppress cells entirely.
391 @end table
392
393 @samp{/CELLS} without any settings specified requests COUNT, ROW,
394 COLUMN, and TOTAL.  If CELLS is not specified at all then only COUNT
395 will be selected.
396
397 The STATISTICS subcommand selects statistics for computation:
398
399 @table @asis
400 @item CHISQ
401 Pearson chi-square, likelihood ratio, Fisher's exact test, continuity
402 correction, linear-by-linear association.
403 @item PHI
404 Phi.
405 @item CC
406 Contingency coefficient.
407 @item LAMBDA
408 Lambda.
409 @item UC
410 Uncertainty coefficient.
411 @item BTAU
412 Tau-b.
413 @item CTAU
414 Tau-c.
415 @item RISK
416 Risk estimate.
417 @item GAMMA
418 Gamma.
419 @item D
420 Somers' D.
421 @item KAPPA
422 Cohen's Kappa.
423 @item ETA
424 Eta.
425 @item CORR
426 Spearman correlation, Pearson's r.
427 @item ALL
428 All of the above.
429 @item NONE
430 No statistics.
431 @end table
432
433 Selected statistics are only calculated when appropriate for the
434 statistic.  Certain statistics require tables of a particular size, and
435 some statistics are calculated only in integer mode.
436
437 @samp{/STATISTICS} without any settings selects CHISQ.  If the
438 STATISTICS subcommand is not given, no statistics are calculated.
439
440 @strong{Please note:} Currently the implementation of CROSSTABS has the
441 followings bugs:
442
443 @itemize @bullet
444 @item
445 Pearson's R (but not Spearman) is off a little.
446 @item
447 T values for Spearman's R and Pearson's R are wrong.
448 @item
449 Significance of symmetric and directional measures is not calculated.
450 @item
451 Asymmetric ASEs and T values for lambda are wrong.
452 @item
453 ASE of Goodman and Kruskal's tau is not calculated.
454 @item
455 ASE of symmetric somers' d is wrong.
456 @item
457 Approximate T of uncertainty coefficient is wrong.
458 @end itemize
459
460 Fixes for any of these deficiencies would be welcomed.
461
462 @node T-TEST, ONEWAY, CROSSTABS, Statistics
463 @comment  node-name,  next,  previous,  up
464 @section T-TEST
465
466 @vindex T-TEST
467 @display
468 T-TEST
469         /MISSING=@{ANALYSIS,LISTWISE@} @{EXCLUDE,INCLUDE@}
470         /CRITERIA=CIN(confidence)
471
472
473 (One Sample mode.)
474         TESTVAL=test_value
475         /VARIABLES=var_list
476
477
478 (Independent Samples mode.)
479         GROUPS=var(value1 [, value2])
480         /VARIABLES=var_list
481
482
483 (Paired Samples mode.)
484         PAIRS=var_list [WITH var_list [(PAIRED)] ]
485
486 @end display
487
488
489 The @cmd{T-TEST} procedure outputs tables used in testing hypotheses about 
490 means.  
491 It operates in one of three modes:
492 @itemize
493 @item One Sample mode.
494 @item Independent Groups mode.
495 @item Paired mode.
496 @end itemize
497
498 @noindent
499 Each of these modes are described in more detail below.
500 There are two optional subcommands which are common to all modes.
501
502 The @cmd{/CRITERIA} subcommand tells PSPP the confidence interval used
503 in the tests.  The default value is 0.95.
504
505
506 The @cmd{MISSING} subcommand determines the handling of missing
507 variables.  
508 If INCLUDE is set, then user-missing values are included in the
509 calculations, but system-missing values are not.
510 If EXCLUDE is set, which is the default, user-missing
511 values are excluded as well as system-missing values. 
512 This is the default.
513
514 If LISTWISE is set, then the entire case is excluded from analysis
515 whenever any variable  specified in the @cmd{/VARIABLES}, @cmd{/PAIRS} or 
516 @cmd{/GROUPS} subcommands contains a missing value.   
517 If ANALYSIS is set, then missing values are excluded only in the analysis for
518 which they would be needed. This is the default.
519
520
521 @menu
522 * One Sample Mode::             Testing against a hypothesised mean
523 * Independent Samples Mode::    Testing two independent groups for equal mean
524 * Paired Samples Mode::         Testing two interdependent groups for equal mean
525 @end menu
526
527 @node One Sample Mode, Independent Samples Mode, T-TEST, T-TEST
528 @subsection One Sample Mode
529
530 The @cmd{TESTVAL} subcommand invokes the One Sample mode.
531 This mode is used to test a population mean against a hypothesised
532 mean. 
533 The value given to the @cmd{TESTVAL} subcommand is the value against
534 which you wish to test.
535 In this mode, you must also use the @cmd{/VARIABLES} subcommand to
536 tell PSPP which variables you wish to test.
537
538 @node Independent Samples Mode, Paired Samples Mode, One Sample Mode, T-TEST
539 @comment  node-name,  next,  previous,  up
540 @subsection Independent Samples Mode
541
542 The @cmd{GROUPS} subcommand invokes Independent Samples mode or
543 `Groups' mode. 
544 This mode is used to test whether two groups of values have the
545 same population mean.
546 In this mode, you must also use the @cmd{/VARIABLES} subcommand to
547 tell PSPP the dependent variables you wish to test.
548
549 The variable given in the @cmd{GROUPS} subcommand is the independent
550 variable which determines to which group the samples belong.
551 The values in parentheses are the specific values of the independent
552 variable for each group.
553 If the parentheses are omitted and no values are given, the default values 
554 of 1.0 and 2.0 are assumed.
555
556 If the independent variable is numeric, 
557 it is acceptable to specify only one value inside the parentheses.
558 If you do this, cases where the independent variable is
559 less than  or equal to this value belong to the first group, and cases
560 greater than this value belong to the second group.
561 When using this form of the @cmd{GROUPS} subcommand, missing values in
562 the independent variable are excluded on a listwise basis, regardless
563 of whether @cmd{/MISSING=LISTWISE} was specified.
564
565
566 @node Paired Samples Mode,  , Independent Samples Mode, T-TEST
567 @comment  node-name,  next,  previous,  up
568 @subsection Paired Samples Mode
569
570 The @cmd{PAIRS} subcommand introduces Paired Samples mode.
571 Use this mode when repeated measures have been taken from the same
572 samples.
573 If the the @code{WITH} keyword is omitted, then tables for all
574 combinations of variables given in the @cmd{PAIRS} subcommand are
575 generated. 
576 If the @code{WITH} keyword is given, and the @code{(PAIRED)} keyword
577 is also given, then the number of variables preceding @code{WITH}
578 must be the same as the number following it.
579 In this case, tables for each respective pair of variables are
580 generated.
581 In the event that the @code{WITH} keyword is given, but the
582 @code{(PAIRED)} keyword is omitted, then tables for each combination
583 of variable preceding @code{WITH} against variable following
584 @code{WITH} are generated.
585
586
587 @node ONEWAY, , T-TEST, Statistics
588 @comment  node-name,  next,  previous,  up
589 @section Oneway
590
591 @vindex ONEWAY
592 @cindex analysis of variance
593 @cindex ANOVA
594
595 @display
596 ONEWAY
597         [/VARIABLES = ] var_list BY var
598         /MISSING=@{ANALYSIS,LISTWISE@} @{EXCLUDE,INCLUDE@}
599         /CONTRASTS= value1 [, value2] ... [,valueN]
600         /STATISTICS=@{DESCRIPTIVES,HOMOGENEITY@}
601
602 @end display
603
604 The @cmd{ONEWAY} procedure performs a one-way analysis of variance of
605 variables factored by a single independent variable.
606 It is used to compare the means of a population
607 divided into more than two groups. 
608
609 The  variables to be analysed should be given in the @code{VARIABLES}
610 subcommand.  
611 The list of variables must be followed by the @code{BY} keyword and
612 the name of the independent (or factor) variable.
613
614 You can use the @code{STATISTICS} subcommand to tell PSPP to display
615 ancilliary information.  The options accepted are:
616 @itemize
617 @item DESCRIPTIVES
618 Displays descriptive statistics about the groups factored by the independent
619 variable.
620 @item HOMOGENEITY
621 Displays the Levene test of Homogeneity of Variance for the
622 variables and their groups.
623 @end itemize
624
625 The @code{CONTRASTS} subcommand is used when you anticipate certain
626 differences between the groups.
627 The subcommand must be followed by a list of numerals which are the
628 coefficients of the groups to be tested.
629 The number of coefficients must correspond to the number of distinct
630 groups (or values of the independent variable).
631 If the total sum of the coefficients are not zero, then PSPP will
632 display a warning, but will proceed with the analysis.
633 The @code{CONTRASTS} subcommand may be given up to 10 times in order
634 to specify different contrast tests.
635 @setfilename ignored