Add documentation for the Kruskal-Wallis subcommand
[pspp-builds.git] / doc / statistics.texi
1 @node Statistics
2 @chapter Statistics
3
4 This chapter documents the statistical procedures that PSPP supports so
5 far.
6
7 @menu
8 * DESCRIPTIVES::                Descriptive statistics.
9 * FREQUENCIES::                 Frequency tables.
10 * EXAMINE::                     Testing data for normality.
11 * CORRELATIONS::                Correlation tables.
12 * CROSSTABS::                   Crosstabulation tables.
13 * FACTOR::                      Factor analysis and Principal Components analysis
14 * NPAR TESTS::                  Nonparametric tests.
15 * T-TEST::                      Test hypotheses about means.
16 * ONEWAY::                      One way analysis of variance.
17 * RANK::                        Compute rank scores.
18 * REGRESSION::                  Linear regression.
19 * RELIABILITY::                 Reliability analysis.
20 * ROC::                         Receiver Operating Characteristic.
21 @end menu
22
23 @node DESCRIPTIVES
24 @section DESCRIPTIVES
25
26 @vindex DESCRIPTIVES
27 @display
28 DESCRIPTIVES
29         /VARIABLES=var_list
30         /MISSING=@{VARIABLE,LISTWISE@} @{INCLUDE,NOINCLUDE@}
31         /FORMAT=@{LABELS,NOLABELS@} @{NOINDEX,INDEX@} @{LINE,SERIAL@}
32         /SAVE
33         /STATISTICS=@{ALL,MEAN,SEMEAN,STDDEV,VARIANCE,KURTOSIS,
34                      SKEWNESS,RANGE,MINIMUM,MAXIMUM,SUM,DEFAULT,
35                      SESKEWNESS,SEKURTOSIS@}
36         /SORT=@{NONE,MEAN,SEMEAN,STDDEV,VARIANCE,KURTOSIS,SKEWNESS,
37                RANGE,MINIMUM,MAXIMUM,SUM,SESKEWNESS,SEKURTOSIS,NAME@}
38               @{A,D@}
39 @end display
40
41 The @cmd{DESCRIPTIVES} procedure reads the active file and outputs
42 descriptive
43 statistics requested by the user.  In addition, it can optionally
44 compute Z-scores.
45
46 The VARIABLES subcommand, which is required, specifies the list of
47 variables to be analyzed.  Keyword VARIABLES is optional.
48
49 All other subcommands are optional:
50
51 The MISSING subcommand determines the handling of missing variables.  If
52 INCLUDE is set, then user-missing values are included in the
53 calculations.  If NOINCLUDE is set, which is the default, user-missing
54 values are excluded.  If VARIABLE is set, then missing values are
55 excluded on a variable by variable basis; if LISTWISE is set, then
56 the entire case is excluded whenever any value in that case has a
57 system-missing or, if INCLUDE is set, user-missing value.
58
59 The FORMAT subcommand affects the output format.  Currently the
60 LABELS/NOLABELS and NOINDEX/INDEX settings are not used.  When SERIAL is
61 set, both valid and missing number of cases are listed in the output;
62 when NOSERIAL is set, only valid cases are listed.
63
64 The SAVE subcommand causes @cmd{DESCRIPTIVES} to calculate Z scores for all
65 the specified variables.  The Z scores are saved to new variables.
66 Variable names are generated by trying first the original variable name
67 with Z prepended and truncated to a maximum of 8 characters, then the
68 names ZSC000 through ZSC999, STDZ00 through STDZ09, ZZZZ00 through
69 ZZZZ09, ZQZQ00 through ZQZQ09, in that sequence.  In addition, Z score
70 variable names can be specified explicitly on VARIABLES in the variable
71 list by enclosing them in parentheses after each variable.
72
73 The STATISTICS subcommand specifies the statistics to be displayed:
74
75 @table @code
76 @item ALL
77 All of the statistics below.
78 @item MEAN
79 Arithmetic mean.
80 @item SEMEAN
81 Standard error of the mean.
82 @item STDDEV
83 Standard deviation.
84 @item VARIANCE
85 Variance.
86 @item KURTOSIS
87 Kurtosis and standard error of the kurtosis.
88 @item SKEWNESS
89 Skewness and standard error of the skewness.
90 @item RANGE
91 Range.
92 @item MINIMUM
93 Minimum value.
94 @item MAXIMUM
95 Maximum value.
96 @item SUM
97 Sum.
98 @item DEFAULT
99 Mean, standard deviation of the mean, minimum, maximum.
100 @item SEKURTOSIS
101 Standard error of the kurtosis.
102 @item SESKEWNESS
103 Standard error of the skewness.
104 @end table
105
106 The SORT subcommand specifies how the statistics should be sorted.  Most
107 of the possible values should be self-explanatory.  NAME causes the
108 statistics to be sorted by name.  By default, the statistics are listed
109 in the order that they are specified on the VARIABLES subcommand.  The A
110 and D settings request an ascending or descending sort order,
111 respectively.
112
113 @node FREQUENCIES
114 @section FREQUENCIES
115
116 @vindex FREQUENCIES
117 @display
118 FREQUENCIES
119         /VARIABLES=var_list
120         /FORMAT=@{TABLE,NOTABLE,LIMIT(limit)@}
121                 @{AVALUE,DVALUE,AFREQ,DFREQ@}
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         /HISTOGRAM=[MINIMUM(x_min)] [MAXIMUM(x_max)] 
129                    [@{FREQ[(y_max)],PERCENT[(y_max)]@}] [@{NONORMAL,NORMAL@}]
130         /PIECHART=[MINIMUM(x_min)] [MAXIMUM(x_max)]
131                   [@{FREQ,PERCENT@}] [@{NOMISSING,MISSING@}]
132
133 (These options are not currently implemented.)
134         /BARCHART=@dots{}
135         /HBAR=@dots{}
136         /GROUPED=@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 @cmd{FREQUENCIES} can also output
144 histograms and pie charts.  
145
146 The VARIABLES subcommand is the only required subcommand.  Specify the
147 variables to be analyzed.
148
149 The FORMAT subcommand controls the output format.  It has several
150 possible settings:  
151
152 @itemize @bullet
153 @item
154 TABLE, the default, causes a frequency table to be output for every
155 variable specified.  NOTABLE prevents them from being output.  LIMIT
156 with a numeric argument causes them to be output except when there are
157 more than the specified number of values in the table.
158
159 @item
160 Normally frequency tables are sorted in ascending order by value.  This
161 is AVALUE.  DVALUE tables are sorted in descending order by value.
162 AFREQ and DFREQ tables are sorted in ascending and descending order,
163 respectively, by frequency count.
164 @end itemize
165
166 The MISSING subcommand controls the handling of user-missing values.
167 When EXCLUDE, the default, is set, user-missing values are not included
168 in frequency tables or statistics.  When INCLUDE is set, user-missing
169 are included.  System-missing values are never included in statistics,
170 but are listed in frequency tables.
171
172 The available STATISTICS are the same as available in @cmd{DESCRIPTIVES}
173 (@pxref{DESCRIPTIVES}), with the addition of MEDIAN, the data's median
174 value, and MODE, the mode.  (If there are multiple modes, the smallest
175 value is reported.)  By default, the mean, standard deviation of the
176 mean, minimum, and maximum are reported for each variable.
177
178 @cindex percentiles
179 PERCENTILES causes the specified percentiles to be reported.
180 The percentiles should  be presented at a list of numbers between 0
181 and 100 inclusive.  
182 The NTILES subcommand causes the percentiles to be reported at the
183 boundaries of the data set divided into the specified number of ranges.
184 For instance, @code{/NTILES=4} would cause quartiles to be reported.
185
186 @cindex histogram
187 The HISTOGRAM subcommand causes the output to include a histogram for
188 each specified numeric variable.  The X axis by default ranges from
189 the minimum to the maximum value observed in the data, but the MINIMUM
190 and MAXIMUM keywords can set an explicit range.  Specify NORMAL to
191 superimpose a normal curve on the histogram.  Histograms are not
192 created for string variables.
193
194 @cindex piechart
195 The PIECHART adds a pie chart for each variable to the data.  Each
196 slice represents one value, with the size of the slice proportional to
197 the value's frequency.  By default, all non-missing values are given
198 slices.  The MINIMUM and MAXIMUM keywords can be used to limit the
199 displayed slices to a given range of values.  The MISSING keyword adds
200 slices for missing values.
201
202 The FREQ and PERCENT options on HISTOGRAM and PIECHART are accepted
203 but not currently honored.
204
205 @node EXAMINE
206 @comment  node-name,  next,  previous,  up
207 @section EXAMINE
208 @vindex EXAMINE
209
210 @cindex Normality, testing for
211
212 @display
213 EXAMINE
214         VARIABLES=var_list [BY factor_list ]
215         /STATISTICS=@{DESCRIPTIVES, EXTREME[(n)], ALL, NONE@}
216         /PLOT=@{BOXPLOT, NPPLOT, HISTOGRAM, ALL, NONE@}
217         /CINTERVAL n
218         /COMPARE=@{GROUPS,VARIABLES@}
219         /ID=var_name
220         /@{TOTAL,NOTOTAL@}
221         /PERCENTILE=[value_list]=@{HAVERAGE, WAVERAGE, ROUND, AEMPIRICAL, EMPIRICAL @}
222         /MISSING=@{LISTWISE, PAIRWISE@} [@{EXCLUDE, INCLUDE@}] 
223                 [@{NOREPORT,REPORT@}]
224
225 @end display
226
227 The @cmd{EXAMINE} command is used to test how closely a distribution is to a 
228 normal distribution.  It also shows you outliers and extreme values.
229
230 The VARIABLES subcommand specifies the dependent variables and the
231 independent variable to use as factors for the analysis.   Variables
232 listed before the first BY keyword are the dependent variables.
233 The dependent variables may optionally be followed by a list of
234 factors which tell PSPP how to break down the analysis for each
235 dependent variable.  The format for each factor is 
236 @display
237 var [BY var].
238 @end display
239
240
241 The STATISTICS subcommand specifies the analysis to be done.  
242 DESCRIPTIVES will produce a table showing some parametric and
243 non-parametrics statistics.  EXTREME produces a table showing extreme
244 values of the dependent variable.  A number in parentheses determines
245 how many upper and lower extremes to show.  The default number is 5.
246
247
248 @cindex boxplot
249 @cindex histogram
250 @cindex npplot
251 The PLOT subcommand specifies which plots are to be produced if any.
252 Available plots are HISTOGRAM, NPPLOT and BOXPLOT.
253
254 The COMPARE subcommand is only relevant if producing boxplots, and it is only 
255 useful there is more than one dependent variable and at least one factor.   If 
256 /COMPARE=GROUPS is specified, then one plot per dependent variable is produced,
257 containing boxplots for all the factors.
258 If /COMPARE=VARIABLES is specified, then one plot per factor is produced, each 
259 each containing one boxplot per dependent variable.
260 If the /COMPARE subcommand is ommitted, then PSPP uses the default value of 
261 /COMPARE=GROUPS.
262  
263 The ID subcommand also pertains to boxplots.  If given, it must
264 specify a variable name.   Outliers and extreme cases plotted in
265 boxplots will be labelled with the case from that variable.  Numeric or
266 string variables are permissible.  If the ID subcommand is not given,
267 then the casenumber will be used for labelling.
268
269 The CINTERVAL subcommand specifies the confidence interval to use in
270 calculation of the descriptives command.  The default it 95%.
271
272 @cindex percentiles
273 The PERCENTILES subcommand specifies which percentiles are to be calculated, 
274 and which algorithm to use for calculating them.  The default is to
275 calculate the 5, 10, 25, 50, 75, 90, 95 percentiles using the
276 HAVERAGE algorithm.
277
278 The TOTAL and NOTOTAL subcommands are mutually exclusive.  If NOTOTAL
279 is given and factors have been specified in the VARIABLES subcommand,
280 then then statistics for the unfactored dependent variables are
281 produced in addition to the factored variables.  If there are no
282 factors specified then TOTAL and NOTOTAL have no effect.
283
284 @strong{Warning!}
285 If many dependent variable are given, or factors are given for which
286 there are many distinct values, then @cmd{EXAMINE} will produce a very
287 large quantity of output.
288
289 @node CORRELATIONS
290 @section CORRELATIONS
291
292 @vindex CORRELATIONS
293 @display
294 CORRELATIONS
295      /VARIABLES = varlist [ WITH varlist ]
296      [
297       .
298       .
299       .
300       /VARIABLES = varlist [ WITH varlist ]
301       /VARIABLES = varlist [ WITH varlist ]
302      ]
303
304      [ /PRINT=@{TWOTAIL, ONETAIL@} @{SIG, NOSIG@} ]
305      [ /STATISTICS=DESCRIPTIVES XPROD ALL]
306      [ /MISSING=@{PAIRWISE, LISTWISE@} @{INCLUDE, EXCLUDE@} ]
307 @end display    
308
309 @cindex correlation
310 The @cmd{CORRELATIONS} procedure produces tables of the Pearson correlation coefficient
311 for a set of variables.  The significance of the coefficients are also given.
312
313 At least one VARIABLES subcommand is required. If the WITH keyword is used, then a non-square
314 correlation table will be produced.
315 The variables preceding WITH, will be used as the rows of the table, and the variables following
316 will be the columns of the table.
317 If no WITH subcommand is given, then a square, symmetrical table using all variables is produced.
318
319
320 The @cmd{MISSING} subcommand determines the handling of missing variables.  
321 If INCLUDE is set, then user-missing values are included in the
322 calculations, but system-missing values are not.
323 If EXCLUDE is set, which is the default, user-missing
324 values are excluded as well as system-missing values. 
325 This is the default.
326
327 If LISTWISE is set, then the entire case is excluded from analysis
328 whenever any variable  specified in any @cmd{/VARIABLES} subcommand
329 contains a missing value.   
330 If PAIRWISE is set, then a case is considered missing only if either of the
331 values  for the particular coefficient are missing.
332 The default is PAIRWISE.
333
334 The PRINT subcommand is used to control how the reported significance values are printed.
335 If the TWOTAIL option is used, then a two-tailed test of significance is 
336 printed.  If the ONETAIL option is given, then a one-tailed test is used.
337 The default is TWOTAIL.
338
339 If the NOSIG option is specified, then correlation coefficients with significance less than
340 0.05 are highlighted.
341 If SIG is specified, then no highlighting is performed.  This is the default.
342
343 @cindex covariance
344 The STATISTICS subcommand requests additional statistics to be displayed.  The keyword 
345 DESCRIPTIVES requests that the mean, number of non-missing cases, and the non-biased
346 estimator of the standard deviation are displayed.
347 These statistics will be displayed in a separated table, for all the variables listed
348 in any /VARIABLES subcommand.
349 The XPROD keyword requests cross-product deviations and covariance estimators to 
350 be displayed for each pair of variables.
351 The keyword ALL is the union of DESCRIPTIVES and XPROD.
352
353 @node CROSSTABS
354 @section CROSSTABS
355
356 @vindex CROSSTABS
357 @display
358 CROSSTABS
359         /TABLES=var_list BY var_list [BY var_list]@dots{}
360         /MISSING=@{TABLE,INCLUDE,REPORT@}
361         /WRITE=@{NONE,CELLS,ALL@}
362         /FORMAT=@{TABLES,NOTABLES@}
363                 @{LABELS,NOLABELS,NOVALLABS@}
364                 @{PIVOT,NOPIVOT@}
365                 @{AVALUE,DVALUE@}
366                 @{NOINDEX,INDEX@}
367                 @{BOX,NOBOX@}
368         /CELLS=@{COUNT,ROW,COLUMN,TOTAL,EXPECTED,RESIDUAL,SRESIDUAL,
369                 ASRESIDUAL,ALL,NONE@}
370         /STATISTICS=@{CHISQ,PHI,CC,LAMBDA,UC,BTAU,CTAU,RISK,GAMMA,D,
371                      KAPPA,ETA,CORR,ALL,NONE@}
372         
373 (Integer mode.)
374         /VARIABLES=var_list (low,high)@dots{}
375 @end display
376
377 The @cmd{CROSSTABS} procedure displays crosstabulation
378 tables requested by the user.  It can calculate several statistics for
379 each cell in the crosstabulation tables.  In addition, a number of
380 statistics can be calculated for each table itself.
381
382 The TABLES subcommand is used to specify the tables to be reported.  Any
383 number of dimensions is permitted, and any number of variables per
384 dimension is allowed.  The TABLES subcommand may be repeated as many
385 times as needed.  This is the only required subcommand in @dfn{general
386 mode}.  
387
388 Occasionally, one may want to invoke a special mode called @dfn{integer
389 mode}.  Normally, in general mode, PSPP automatically determines
390 what values occur in the data.  In integer mode, the user specifies the
391 range of values that the data assumes.  To invoke this mode, specify the
392 VARIABLES subcommand, giving a range of data values in parentheses for
393 each variable to be used on the TABLES subcommand.  Data values inside
394 the range are truncated to the nearest integer, then assigned to that
395 value.  If values occur outside this range, they are discarded.  When it
396 is present, the VARIABLES subcommand must precede the TABLES
397 subcommand.
398
399 In general mode, numeric and string variables may be specified on
400 TABLES.  In integer mode, only numeric variables are allowed.
401
402 The MISSING subcommand determines the handling of user-missing values.
403 When set to TABLE, the default, missing values are dropped on a table by
404 table basis.  When set to INCLUDE, user-missing values are included in
405 tables and statistics.  When set to REPORT, which is allowed only in
406 integer mode, user-missing values are included in tables but marked with
407 an @samp{M} (for ``missing'') and excluded from statistical
408 calculations.
409
410 Currently the WRITE subcommand is ignored.
411
412 The FORMAT subcommand controls the characteristics of the
413 crosstabulation tables to be displayed.  It has a number of possible
414 settings:
415
416 @itemize @bullet
417 @item
418 TABLES, the default, causes crosstabulation tables to be output.
419 NOTABLES suppresses them.
420
421 @item
422 LABELS, the default, allows variable labels and value labels to appear
423 in the output.  NOLABELS suppresses them.  NOVALLABS displays variable
424 labels but suppresses value labels.
425
426 @item
427 PIVOT, the default, causes each TABLES subcommand to be displayed in a
428 pivot table format.  NOPIVOT causes the old-style crosstabulation format
429 to be used.
430
431 @item
432 AVALUE, the default, causes values to be sorted in ascending order.
433 DVALUE asserts a descending sort order.
434
435 @item
436 INDEX/NOINDEX is currently ignored.
437
438 @item
439 BOX/NOBOX is currently ignored.
440 @end itemize
441
442 The CELLS subcommand controls the contents of each cell in the displayed
443 crosstabulation table.  The possible settings are:
444
445 @table @asis
446 @item COUNT
447 Frequency count.
448 @item ROW
449 Row percent.
450 @item COLUMN
451 Column percent.
452 @item TOTAL
453 Table percent.
454 @item EXPECTED
455 Expected value.
456 @item RESIDUAL 
457 Residual.
458 @item SRESIDUAL
459 Standardized residual.
460 @item ASRESIDUAL
461 Adjusted standardized residual.
462 @item ALL
463 All of the above.
464 @item NONE
465 Suppress cells entirely.
466 @end table
467
468 @samp{/CELLS} without any settings specified requests COUNT, ROW,
469 COLUMN, and TOTAL.  If CELLS is not specified at all then only COUNT
470 will be selected.
471
472 The STATISTICS subcommand selects statistics for computation:
473
474 @table @asis
475 @item CHISQ
476 @cindex chisquare
477 @cindex chi-square
478
479 Pearson chi-square, likelihood ratio, Fisher's exact test, continuity
480 correction, linear-by-linear association.
481 @item PHI
482 Phi.
483 @item CC
484 Contingency coefficient.
485 @item LAMBDA
486 Lambda.
487 @item UC
488 Uncertainty coefficient.
489 @item BTAU
490 Tau-b.
491 @item CTAU
492 Tau-c.
493 @item RISK
494 Risk estimate.
495 @item GAMMA
496 Gamma.
497 @item D
498 Somers' D.
499 @item KAPPA
500 Cohen's Kappa.
501 @item ETA
502 Eta.
503 @item CORR
504 Spearman correlation, Pearson's r.
505 @item ALL
506 All of the above.
507 @item NONE
508 No statistics.
509 @end table
510
511 Selected statistics are only calculated when appropriate for the
512 statistic.  Certain statistics require tables of a particular size, and
513 some statistics are calculated only in integer mode.
514
515 @samp{/STATISTICS} without any settings selects CHISQ.  If the
516 STATISTICS subcommand is not given, no statistics are calculated.
517
518 @strong{Please note:} Currently the implementation of CROSSTABS has the
519 followings bugs:
520
521 @itemize @bullet
522 @item
523 Pearson's R (but not Spearman) is off a little.
524 @item
525 T values for Spearman's R and Pearson's R are wrong.
526 @item
527 Significance of symmetric and directional measures is not calculated.
528 @item
529 Asymmetric ASEs and T values for lambda are wrong.
530 @item
531 ASE of Goodman and Kruskal's tau is not calculated.
532 @item
533 ASE of symmetric somers' d is wrong.
534 @item
535 Approximate T of uncertainty coefficient is wrong.
536 @end itemize
537
538 Fixes for any of these deficiencies would be welcomed.
539
540 @node FACTOR
541 @section FACTOR
542
543 @vindex FACTOR
544 @cindex factor analysis
545 @cindex principal components analysis
546 @cindex principal axis factoring
547 @cindex data reduction
548
549 @display
550 FACTOR  VARIABLES=var_list
551
552         [ /METHOD = @{CORRELATION, COVARIANCE@} ]
553
554         [ /EXTRACTION=@{PC, PAF@}] 
555
556         [ /ROTATION=@{VARIMAX, EQUAMAX, QUARTIMAX, NOROTATE@}]
557
558         [ /PRINT=[INITIAL] [EXTRACTION] [ROTATION] [UNIVARIATE] [CORRELATION] [COVARIANCE] [DET] [SIG] [ALL] [DEFAULT] ]
559
560         [ /PLOT=[EIGEN] ]
561
562         [ /FORMAT=[SORT] [BLANK(@var{n})] [DEFAULT] ]
563
564         [ /CRITERIA=[FACTORS(@var{n})] [MINEIGEN(@var{l})] [ITERATE(@var{m})] [ECONVERGE (@var{delta})] [DEFAULT] ]
565
566         [ /MISSING=[@{LISTWISE, PAIRWISE@}] [@{INCLUDE, EXCLUDE@}] ]
567 @end display
568
569 The FACTOR command performs Factor Analysis or Principal Axis Factoring on a dataset.  It may be used to find
570 common factors in the data or for data reduction purposes.
571
572 The VARIABLES subcommand is required.  It lists the variables which are to partake in the analysis.
573
574 The /EXTRACTION subcommand is used to specify the way in which factors (components) are extracted from the data.
575 If PC is specified, then Principal Components Analysis is used.  If PAF is specified, then Principal Axis Factoring is
576 used. By default Principal Components Analysis will be used.
577
578 The /ROTATION subcommand is used to specify the method by which the extracted solution will be rotated.
579 Three methods are available: VARIMAX (which is the default), EQUAMAX, and QUARTIMAX.
580 If don't want any rotation to be performed, the word NOROTATE will prevent the command from performing any
581 rotation on the data. Oblique rotations are not supported.
582
583 The /METHOD subcommand should be used to determine whether the covariance matrix or the correlation matrix of the data is
584 to be analysed.  By default, the correlation matrix is analysed.
585
586 The /PRINT subcommand may be used to select which features of the analysis are reported:
587
588 @itemize
589 @item UNIVARIATE
590       A table of mean values, standard deviations and total weights are printed.
591 @item INITIAL
592       Initial communalities and eigenvalues are printed.
593 @item EXTRACTION
594       Extracted communalities and eigenvalues are printed.
595 @item ROTATION
596       Rotated communalities and eigenvalues are printed.
597 @item CORRELATION
598       The correlation matrix is printed.
599 @item COVARIANCE
600       The covariance matrix is printed.
601 @item DET
602       The determinant of the correlation or covariance matrix is printed.
603 @item SIG
604       The significance of the elements of correlation matrix is printed.
605 @item ALL
606       All of the above are printed.
607 @item DEFAULT
608       Identical to INITIAL and EXTRACTION.
609 @end itemize
610
611 If /PLOT=EIGEN is given, then a ``Scree'' plot of the eigenvalues will be printed.  This can be useful for visualising
612 which factors (components) should be retained.
613
614 The /FORMAT subcommand determined how data are to be displayed in loading matrices.  If SORT is specified, then the variables
615 are sorted in descending order of significance.  If BLANK(@var{n}) is specified, then coefficients whose absolute value is less
616 than @var{n} will not be printed.  If the keyword DEFAULT is given, or if no /FORMAT subcommand is given, then no sorting is 
617 performed, and all coefficients will be printed.
618
619 The /CRITERIA subcommand is used to specify how the number of extracted factors (components) are chosen.  If FACTORS(@var{n}) is
620 specified, where @var{n} is an integer, then @var{n} factors will be extracted.  Otherwise, the MINEIGEN setting will
621 be used.  MINEIGEN(@var{l}) requests that all factors whose eigenvalues are greater than or equal to @var{l} are extracted.
622 The default value of @var{l} is 1.    The ECONVERGE and ITERATE settings have effect only when iterative algorithms for factor
623 extraction (such as Principal Axis Factoring) are used.   ECONVERGE(@var{delta}) specifies that iteration should cease when
624 the maximum absolute value of the communality estimate between one iteration and the previous is less than @var{delta}. The
625 default value of @var{delta} is 0.001.
626 The ITERATE(@var{m}) setting sets the maximum number of iterations to @var{m}.  The default value of @var{m} is 25.
627
628 The @cmd{MISSING} subcommand determines the handling of missing variables.  
629 If INCLUDE is set, then user-missing values are included in the
630 calculations, but system-missing values are not.
631 If EXCLUDE is set, which is the default, user-missing
632 values are excluded as well as system-missing values. 
633 This is the default.
634 If LISTWISE is set, then the entire case is excluded from analysis
635 whenever any variable  specified in the @cmd{VARIABLES} subcommand
636 contains a missing value.   
637 If PAIRWISE is set, then a case is considered missing only if either of the
638 values  for the particular coefficient are missing.
639 The default is LISTWISE.
640  
641
642 @node NPAR TESTS
643 @section NPAR TESTS
644
645 @vindex NPAR TESTS
646 @cindex nonparametric tests
647
648 @display 
649 NPAR TESTS
650      
651      nonparametric test subcommands
652      .
653      .
654      .
655      
656      [ /STATISTICS=@{DESCRIPTIVES@} ]
657
658      [ /MISSING=@{ANALYSIS, LISTWISE@} @{INCLUDE, EXCLUDE@} ]
659
660      [ /METHOD=EXACT [ TIMER [(n)] ] ]
661 @end display
662
663 NPAR TESTS performs nonparametric tests. 
664 Non parametric tests make very few assumptions about the distribution of the 
665 data.
666 One or more tests may be specified by using the corresponding subcommand.
667 If the /STATISTICS subcommand is also specified, then summary statistics are 
668 produces for each variable that is the subject of any test.
669
670 Certain tests may take a long time to execute, if an exact figure is required.
671 Therefore, by default asymptotic approximations are used unless the
672 subcommand /METHOD=EXACT is specified.  
673 Exact tests give more accurate results, but may take an unacceptably long 
674 time to perform.  If the TIMER keyword is used, it sets a maximum time,
675 after which the test will be abandoned, and a warning message printed.
676 The time, in minutes, should be specified in parentheses after the TIMER keyword.
677 If the TIMER keyword is given without this figure, then a default value of 5 minutes 
678 is used.
679
680
681 @menu
682 * BINOMIAL::                Binomial Test
683 * CHISQUARE::               Chisquare Test
684 * KRUSKAL-WALLIS::          Kruskal-Wallis Test
685 * WILCOXON::                Wilcoxon Signed Ranks Test
686 * SIGN::                    The Sign Test
687 @end menu
688
689
690 @node    BINOMIAL
691 @subsection Binomial test
692 @vindex BINOMIAL
693 @cindex binomial test
694
695 @display 
696      [ /BINOMIAL[(p)]=var_list[(value1[, value2)] ] ]
697 @end display 
698
699 The /BINOMIAL subcommand compares the observed distribution of a dichotomous 
700 variable with that of a binomial distribution.
701 The variable @var{p} specifies the test proportion of the binomial 
702 distribution.  
703 The default value of 0.5 is assumed if @var{p} is omitted.
704
705 If a single value appears after the variable list, then that value is
706 used as the threshold to partition the observed values. Values less
707 than or equal to the threshold value form the first category.  Values
708 greater than the threshold form the second category. 
709
710 If two values appear after the variable list, then they will be used
711 as the values which a variable must take to be in the respective
712 category. 
713 Cases for which a variable takes a value equal to neither of the specified  
714 values, take no part in the test for that variable.
715
716 If no values appear, then the variable must assume dichotomous
717 values.
718 If more than two distinct, non-missing values for a variable
719 under test are encountered then an error occurs.
720
721 If the test proportion is equal to 0.5, then a two tailed test is
722 reported.   For any other test proportion, a one tailed test is
723 reported.   
724 For one tailed tests, if the test proportion is less than
725 or equal to the observed proportion, then the significance of
726 observing the observed proportion or more is reported.
727 If the test proportion is more than the observed proportion, then the
728 significance of observing the observed proportion or less is reported.
729 That is to say, the test is always performed in the observed
730 direction. 
731
732 PSPP uses a very precise approximation to the gamma function to
733 compute the binomial significance.  Thus, exact results are reported
734 even for very large sample sizes.
735
736
737
738 @node    CHISQUARE
739 @subsection Chisquare Test
740 @vindex CHISQUARE
741 @cindex chisquare test
742
743
744 @display
745      [ /CHISQUARE=var_list[(lo,hi)] [/EXPECTED=@{EQUAL|f1, f2 @dots{} fn@}] ]
746 @end display 
747
748
749 The /CHISQUARE subcommand produces a chi-square statistic for the differences 
750 between the expected and observed frequencies of the categories of a variable. 
751 Optionally, a range of values may appear after the variable list.  
752 If a range is given, then non integer values are truncated, and values
753 outside the  specified range are excluded from the analysis.
754
755 The /EXPECTED subcommand specifies the expected values of each
756 category.  
757 There must be exactly one non-zero expected value, for each observed
758 category, or the EQUAL keywork must be specified.
759 You may use the notation @var{n}*@var{f} to specify @var{n}
760 consecutive expected categories all taking a frequency of @var{f}.
761 The frequencies given are proportions, not absolute frequencies.  The
762 sum of the frequencies need not be 1.
763 If no /EXPECTED subcommand is given, then then equal frequencies 
764 are expected.
765
766
767 @node KRUSKAL-WALLIS
768 @subsection Kruskal-Wallis Test
769 @comment  node-name,  next,  previous,  up
770 @vindex KRUSKAL-WALLIS
771 @vindex K-W
772 @cindex Kruskal-Wallis test
773
774 @display
775      [ /KRUSKAL-WALLIS = varlist BY var (lower, upper) ]
776 @end display
777
778 The Kruskal-Wallis test is used to compare data from an 
779 arbitrary number of populations.  It does not assume normality.
780 The data to be compared are specified by @var{varlist}.
781 The categorical variable determining the groups to which the
782 data belongs is given by @var{var}. The limits @var{lower} and
783 @var{upper} specify the valid range of @var{var}. Any cases for
784 which @var{var} falls outside [@var{lower}, @var{upper}] will be
785 ignored.
786
787 The mean rank of each group as well as the chi-squared value and significance
788 of the test will be printed.
789 The abbreviated subcommand  K-W may be used in place of KRUSKAL-WALLIS.
790
791
792 @node WILCOXON
793 @subsection Wilcoxon Matched Pairs Signed Ranks Test
794 @comment  node-name,  next,  previous,  up
795 @vindex WILCOXON
796 @cindex wilcoxon matched pairs signed ranks test
797
798 @display
799      [ /WILCOXON varlist [ WITH varlist [ (PAIRED) ]]]
800 @end display
801
802 The /WILCOXON subcommand tests for differences between medians of the 
803 variables listed.
804 The test does not make any assumptions about the variances of the samples.
805 It does however assume that the distribution is symetrical.
806
807 If the @code{WITH} keyword is omitted, then tests for all
808 combinations of the listed variables are performed.
809 If the @code{WITH} keyword is given, and the @code{(PAIRED)} keyword
810 is also given, then the number of variables preceding @code{WITH}
811 must be the same as the number following it.
812 In this case, tests for each respective pair of variables are
813 performed.
814 If the @code{WITH} keyword is given, but the
815 @code{(PAIRED)} keyword is omitted, then tests for each combination
816 of variable preceding @code{WITH} against variable following
817 @code{WITH} are performed.
818
819
820 @node SIGN
821 @subsection Sign Test
822 @vindex SIGN
823 @cindex sign test
824
825 @display
826      [ /SIGN varlist [ WITH varlist [ (PAIRED) ]]]
827 @end display
828
829 The /SIGN subcommand tests for differences between medians of the 
830 variables listed.
831 The test does not make any assumptions about the
832 distribution of the data.
833
834 If the @code{WITH} keyword is omitted, then tests for all
835 combinations of the listed variables are performed.
836 If the @code{WITH} keyword is given, and the @code{(PAIRED)} keyword
837 is also given, then the number of variables preceding @code{WITH}
838 must be the same as the number following it.
839 In this case, tests for each respective pair of variables are
840 performed.
841 If the @code{WITH} keyword is given, but the
842 @code{(PAIRED)} keyword is omitted, then tests for each combination
843 of variable preceding @code{WITH} against variable following
844 @code{WITH} are performed.
845
846 @node T-TEST
847 @comment  node-name,  next,  previous,  up
848 @section T-TEST
849
850 @vindex T-TEST
851
852 @display
853 T-TEST
854         /MISSING=@{ANALYSIS,LISTWISE@} @{EXCLUDE,INCLUDE@}
855         /CRITERIA=CIN(confidence)
856
857
858 (One Sample mode.)
859         TESTVAL=test_value
860         /VARIABLES=var_list
861
862
863 (Independent Samples mode.)
864         GROUPS=var(value1 [, value2])
865         /VARIABLES=var_list
866
867
868 (Paired Samples mode.)
869         PAIRS=var_list [WITH var_list [(PAIRED)] ]
870
871 @end display
872
873
874 The @cmd{T-TEST} procedure outputs tables used in testing hypotheses about 
875 means.  
876 It operates in one of three modes:
877 @itemize
878 @item One Sample mode.
879 @item Independent Groups mode.
880 @item Paired mode.
881 @end itemize
882
883 @noindent
884 Each of these modes are described in more detail below.
885 There are two optional subcommands which are common to all modes.
886
887 The @cmd{/CRITERIA} subcommand tells PSPP the confidence interval used
888 in the tests.  The default value is 0.95.
889
890
891 The @cmd{MISSING} subcommand determines the handling of missing
892 variables.  
893 If INCLUDE is set, then user-missing values are included in the
894 calculations, but system-missing values are not.
895 If EXCLUDE is set, which is the default, user-missing
896 values are excluded as well as system-missing values. 
897 This is the default.
898
899 If LISTWISE is set, then the entire case is excluded from analysis
900 whenever any variable  specified in the @cmd{/VARIABLES}, @cmd{/PAIRS} or 
901 @cmd{/GROUPS} subcommands contains a missing value.   
902 If ANALYSIS is set, then missing values are excluded only in the analysis for
903 which they would be needed. This is the default.
904
905
906 @menu
907 * One Sample Mode::             Testing against a hypothesised mean
908 * Independent Samples Mode::    Testing two independent groups for equal mean
909 * Paired Samples Mode::         Testing two interdependent groups for equal mean
910 @end menu
911
912 @node One Sample Mode
913 @subsection One Sample Mode
914
915 The @cmd{TESTVAL} subcommand invokes the One Sample mode.
916 This mode is used to test a population mean against a hypothesised
917 mean. 
918 The value given to the @cmd{TESTVAL} subcommand is the value against
919 which you wish to test.
920 In this mode, you must also use the @cmd{/VARIABLES} subcommand to
921 tell PSPP which variables you wish to test.
922
923 @node Independent Samples Mode
924 @comment  node-name,  next,  previous,  up
925 @subsection Independent Samples Mode
926
927 The @cmd{GROUPS} subcommand invokes Independent Samples mode or
928 `Groups' mode. 
929 This mode is used to test whether two groups of values have the
930 same population mean.
931 In this mode, you must also use the @cmd{/VARIABLES} subcommand to
932 tell PSPP the dependent variables you wish to test.
933
934 The variable given in the @cmd{GROUPS} subcommand is the independent
935 variable which determines to which group the samples belong.
936 The values in parentheses are the specific values of the independent
937 variable for each group.
938 If the parentheses are omitted and no values are given, the default values 
939 of 1.0 and 2.0 are assumed.
940
941 If the independent variable is numeric, 
942 it is acceptable to specify only one value inside the parentheses.
943 If you do this, cases where the independent variable is
944 greater than or equal to this value belong to the first group, and cases
945 less than this value belong to the second group.
946 When using this form of the @cmd{GROUPS} subcommand, missing values in
947 the independent variable are excluded on a listwise basis, regardless
948 of whether @cmd{/MISSING=LISTWISE} was specified.
949
950
951 @node Paired Samples Mode
952 @comment  node-name,  next,  previous,  up
953 @subsection Paired Samples Mode
954
955 The @cmd{PAIRS} subcommand introduces Paired Samples mode.
956 Use this mode when repeated measures have been taken from the same
957 samples.
958 If the @code{WITH} keyword is omitted, then tables for all
959 combinations of variables given in the @cmd{PAIRS} subcommand are
960 generated. 
961 If the @code{WITH} keyword is given, and the @code{(PAIRED)} keyword
962 is also given, then the number of variables preceding @code{WITH}
963 must be the same as the number following it.
964 In this case, tables for each respective pair of variables are
965 generated.
966 In the event that the @code{WITH} keyword is given, but the
967 @code{(PAIRED)} keyword is omitted, then tables for each combination
968 of variable preceding @code{WITH} against variable following
969 @code{WITH} are generated.
970
971
972 @node ONEWAY
973 @comment  node-name,  next,  previous,  up
974 @section ONEWAY
975
976 @vindex ONEWAY
977 @cindex analysis of variance
978 @cindex ANOVA
979
980 @display
981 ONEWAY
982         [/VARIABLES = ] var_list BY var
983         /MISSING=@{ANALYSIS,LISTWISE@} @{EXCLUDE,INCLUDE@}
984         /CONTRAST= value1 [, value2] ... [,valueN]
985         /STATISTICS=@{DESCRIPTIVES,HOMOGENEITY@}
986
987 @end display
988
989 The @cmd{ONEWAY} procedure performs a one-way analysis of variance of
990 variables factored by a single independent variable.
991 It is used to compare the means of a population
992 divided into more than two groups. 
993
994 The dependent variables to be analysed should be given in the @code{VARIABLES}
995 subcommand.  
996 The list of variables must be followed by the @code{BY} keyword and
997 the name of the independent (or factor) variable.
998
999 You can use the @code{STATISTICS} subcommand to tell PSPP to display
1000 ancilliary information.  The options accepted are:
1001 @itemize
1002 @item DESCRIPTIVES
1003 Displays descriptive statistics about the groups factored by the independent
1004 variable.
1005 @item HOMOGENEITY
1006 Displays the Levene test of Homogeneity of Variance for the
1007 variables and their groups.
1008 @end itemize
1009
1010 The @code{CONTRAST} subcommand is used when you anticipate certain
1011 differences between the groups.
1012 The subcommand must be followed by a list of numerals which are the
1013 coefficients of the groups to be tested.
1014 The number of coefficients must correspond to the number of distinct
1015 groups (or values of the independent variable).
1016 If the total sum of the coefficients are not zero, then PSPP will
1017 display a warning, but will proceed with the analysis.
1018 The @code{CONTRAST} subcommand may be given up to 10 times in order
1019 to specify different contrast tests.
1020 The @code{MISSING} subcommand defines how missing values are handled.
1021 If LISTWISE is specified then cases which have missing values for 
1022 the independent variable or any dependent variable will be ignored.
1023 If ANALYSIS is specified, then cases will be ignored if the independent
1024 variable is missing or if the dependent variable currently being 
1025 analysed is missing.  The default is ANALYSIS.
1026 A setting of EXCLUDE means that variables whose values are
1027 user-missing are to be excluded from the analysis. A setting of
1028 INCLUDE means they are to be included.  The default is EXCLUDE.
1029
1030
1031 @node RANK
1032 @comment  node-name,  next,  previous,  up
1033 @section RANK
1034
1035 @vindex RANK
1036 @display
1037 RANK
1038         [VARIABLES=] var_list [@{A,D@}] [BY var_list]
1039         /TIES=@{MEAN,LOW,HIGH,CONDENSE@}
1040         /FRACTION=@{BLOM,TUKEY,VW,RANKIT@}
1041         /PRINT[=@{YES,NO@}
1042         /MISSING=@{EXCLUDE,INCLUDE@}
1043
1044         /RANK [INTO var_list]
1045         /NTILES(k) [INTO var_list]
1046         /NORMAL [INTO var_list]
1047         /PERCENT [INTO var_list]
1048         /RFRACTION [INTO var_list]
1049         /PROPORTION [INTO var_list]
1050         /N [INTO var_list]
1051         /SAVAGE [INTO var_list]
1052 @end display
1053
1054 The @cmd{RANK} command ranks variables and stores the results into new
1055 variables. 
1056
1057 The VARIABLES subcommand, which is mandatory, specifies one or
1058 more variables whose values are to be ranked.  
1059 After each variable, @samp{A} or @samp{D} may appear, indicating that
1060 the variable is to be ranked in ascending or descending order.
1061 Ascending is the default.
1062 If a BY keyword appears, it should be followed by a list of variables
1063 which are to serve as group variables.  
1064 In this case, the cases are gathered into groups, and ranks calculated
1065 for each group.
1066
1067 The TIES subcommand specifies how tied values are to be treated.  The
1068 default is to take the mean value of all the tied cases.
1069
1070 The FRACTION subcommand specifies how proportional ranks are to be
1071 calculated.  This only has any effect if NORMAL or PROPORTIONAL rank
1072 functions are requested.
1073
1074 The PRINT subcommand may be used to specify that a summary of the rank
1075 variables created should appear in the output.
1076
1077 The function subcommands are RANK, NTILES, NORMAL, PERCENT, RFRACTION,
1078 PROPORTION and SAVAGE.  Any number of function subcommands may appear.
1079 If none are given, then the default is RANK.
1080 The NTILES subcommand must take an integer specifying the number of
1081 partitions into which values should be ranked.
1082 Each subcommand may be followed by the INTO keyword and a list of
1083 variables which are the variables to be created and receive the rank
1084 scores.  There may be as many variables specified as there are
1085 variables named on the VARIABLES subcommand.  If fewer are specified,
1086 then the variable names are automatically created.
1087
1088 The MISSING subcommand determines how user missing values are to be
1089 treated. A setting of EXCLUDE means that variables whose values are
1090 user-missing are to be excluded from the rank scores. A setting of
1091 INCLUDE means they are to be included.  The default is EXCLUDE.
1092
1093 @include regression.texi
1094
1095
1096 @node RELIABILITY
1097 @section RELIABILITY
1098
1099 @vindex RELIABILITY
1100 @display
1101 RELIABILITY
1102         /VARIABLES=var_list
1103         /SCALE (@var{name}) = @{var_list, ALL@}
1104         /MODEL=@{ALPHA, SPLIT[(N)]@}
1105         /SUMMARY=@{TOTAL,ALL@}
1106         /MISSING=@{EXCLUDE,INCLUDE@}
1107 @end display
1108
1109 @cindex Cronbach's Alpha
1110 The @cmd{RELIABILTY} command performs reliablity analysis on the data.
1111
1112 The VARIABLES subcommand is required. It determines the set of variables 
1113 upon which analysis is to be performed.
1114
1115 The SCALE subcommand determines which variables reliability is to be 
1116 calculated for.  If it is omitted, then analysis for all variables named
1117 in the VARIABLES subcommand will be used.
1118 Optionally, the @var{name} parameter may be specified to set a string name 
1119 for the scale.
1120
1121 The MODEL subcommand determines the type of analysis. If ALPHA is specified, 
1122 then Cronbach's Alpha is calculated for the scale.  If the model is SPLIT, 
1123 then the variables  are divided into 2 subsets.  An optional parameter 
1124 @var{N} may be given, to specify how many variables to be in the first subset.
1125 If @var{N} is omitted, then it defaults to one half of the variables in the 
1126 scale, or one half minus one if there are an odd number of variables.
1127 The default model is ALPHA.
1128
1129 By default, any cases with user missing, or system missing values for 
1130 any variables given 
1131 in the VARIABLES subcommand will be omitted from analysis.
1132 The MISSING subcommand determines whether user missing values are to 
1133 be included or excluded in the analysis.
1134
1135 The SUMMARY subcommand determines the type of summary analysis to be performed.
1136 Currently there is only one type: SUMMARY=TOTAL, which displays per-item
1137 analysis tested against the totals.
1138
1139
1140
1141 @node ROC
1142 @section ROC
1143
1144 @vindex ROC
1145 @cindex Receiver Operating Characterstic
1146 @cindex Area under curve
1147
1148 @display
1149 ROC     @var{var_list} BY @var{state_var} (@var{state_value})
1150         /PLOT = @{ CURVE [(REFERENCE)], NONE @}
1151         /PRINT = [ SE ] [ COORDINATES ]
1152         /CRITERIA = [ CUTOFF(@{INCLUDE,EXCLUDE@}) ]
1153           [ TESTPOS (@{LARGE,SMALL@}) ]
1154           [ CI (@var{confidence}) ]
1155           [ DISTRIBUTION (@{FREE, NEGEXPO @}) ]
1156         /MISSING=@{EXCLUDE,INCLUDE@}
1157 @end display
1158
1159
1160 The @cmd{ROC} command is used to plot the receiver operating characteristic curve 
1161 of a dataset, and to estimate the area under the curve.
1162 This is useful for analysing the efficacy of a variable as a predictor of a state of nature.
1163
1164 The mandatory @var{var_list} is the list of predictor variables.
1165 The variable @var{state_var} is the variable whose values represent the actual states, 
1166 and @var{state_value} is the value of this variable which represents the positive state.
1167
1168 The optional subcommand PLOT is used to determine if and how the ROC curve is drawn.
1169 The keyword CURVE means that the ROC curve should be drawn, and the optional keyword REFERENCE,
1170 which should be enclosed in parentheses, says that the diagonal reference line should be drawn.
1171 If the keyword NONE is given, then no ROC curve is drawn.
1172 By default, the curve is drawn with no reference line.
1173
1174 The optional subcommand PRINT determines which additional tables should be printed.
1175 Two additional tables are available. 
1176 The SE keyword says that standard error of the area under the curve should be printed as well as
1177 the area itself.
1178 In addition, a p-value under the null hypothesis that the area under the curve equals 0.5 will be
1179 printed.
1180 The COORDINATES keyword says that a table of coordinates of the ROC curve should be printed.
1181
1182 The CRITERIA subcommand has four optional parameters:
1183 @itemize @bullet
1184 @item The TESTPOS parameter may be LARGE or SMALL.
1185 LARGE is the default, and says that larger values in the predictor variables are to be 
1186 considered positive.  SMALL indicates that smaller values should be considered positive.
1187
1188 @item The CI parameter specifies the confidence interval that should be printed.
1189 It has no effect if the SE keyword in the PRINT subcommand has not been given.
1190
1191 @item The DISTRIBUTION parameter determines the method to be used when estimating the area
1192 under the curve.  
1193 There are two possibilities, @i{viz}: FREE and NEGEXPO.
1194 The FREE method uses a non-parametric estimate, and the NEGEXPO method a bi-negative 
1195 exponential distribution estimate.
1196 The NEGEXPO method should only be used when the number of positive actual states is
1197 equal to the number of negative actual states.
1198 The default is FREE.
1199
1200 @item The CUTOFF parameter is for compatibility and is ignored.
1201 @end itemize
1202
1203 The MISSING subcommand determines whether user missing values are to 
1204 be included or excluded in the analysis.  The default behaviour is to
1205 exclude them.
1206 Cases are excluded on a listwise basis; if any of the variables in @var{var_list} 
1207 or if the variable @var{state_var} is missing, then the entire case will be 
1208 excluded.
1209
1210