work on docs
[pspp] / doc / statistics.texi
index 4d07a9485601f25850ebbb8180d103e80387c44c..8445b51b099e077155ccac80cc90902fa6725098 100644 (file)
@@ -20,6 +20,7 @@ far.
 * GRAPH::                       Plot data.
 * CORRELATIONS::                Correlation tables.
 * CROSSTABS::                   Crosstabulation tables.
+* CTABLES::                     Custom tables.
 * FACTOR::                      Factor analysis and Principal Components analysis.
 * GLM::                         Univariate Linear Models.
 * LOGISTIC REGRESSION::         Bivariate Logistic Regression.
@@ -29,12 +30,11 @@ far.
 * ONEWAY::                      One way analysis of variance.
 * QUICK CLUSTER::               K-Means clustering.
 * RANK::                        Compute rank scores.
-* REGRESSION::                  Linear regression.
 * RELIABILITY::                 Reliability analysis.
 * ROC::                         Receiver Operating Characteristic.
 @end menu
 
-@node DESCRIPTIVES
+@node DESCRIPTIVES, FREQUENCIES, Statistics, Statistics
 @section DESCRIPTIVES
 
 @vindex DESCRIPTIVES
@@ -142,6 +142,11 @@ first @cmd{DESCRIPTIVES} command.
 @caption {Running two @cmd{DESCRIPTIVES} commands, one with the @subcmd{SAVE} subcommand}
 @end float
 
+@float Screenshot, descriptives:scr
+@psppimage {descriptives}
+@caption {The Descriptives dialog box with two variables and Z-Scores option selected}
+@end float
+
 In @ref{descriptives:res}, we can see that there are 40 valid data for each of the variables
 and no missing values.   The mean average of the height and temperature is 16677.12
 and 37.02 respectively.  The descriptive statistics for temperature seem reasonable.
@@ -158,7 +163,7 @@ should have these properties since they are normalized versions of the original
 @caption {Descriptives statistics including two normalized variables (Z-scores)}
 @end float
 
-@node FREQUENCIES
+@node FREQUENCIES, EXAMINE, DESCRIPTIVES, Statistics
 @section FREQUENCIES
 
 @vindex FREQUENCIES
@@ -258,15 +263,15 @@ The @subcmd{MINIMUM} and @subcmd{MAXIMUM} keywords can be used to limit the
 displayed slices to a given range of values.
 The keyword @subcmd{NOMISSING} causes missing values to be omitted from the
 piechart.  This is the default.
-If instead, @subcmd{MISSING} is specified, then a single slice
-will be included representing all system missing and user-missing cases.
+If instead, @subcmd{MISSING} is specified, then the pie chart includes
+a single slice representing all system missing and user-missing cases.
 
 @cindex bar chart
 The @subcmd{BARCHART} subcommand produces a bar chart for each variable.
 The @subcmd{MINIMUM} and @subcmd{MAXIMUM} keywords can be used to omit
 categories whose counts which lie outside the specified limits.
 The @subcmd{FREQ} option (default) causes the ordinate to display the frequency
-of each category, whereas the @subcmd{PERCENT} option will display relative
+of each category, whereas the @subcmd{PERCENT} option displays relative
 percentages.
 
 The @subcmd{FREQ} and @subcmd{PERCENT} options on @subcmd{HISTOGRAM} and
@@ -287,8 +292,13 @@ variables are distributed.
 @end float
 
 If you are using the graphic user interface, the dialog box is set up such that
-by default, several statistics are calculated.   These are not particularly useful
-for these variables, so you will want to disable those.
+by default, several statistics are calculated.   Some are not particularly useful
+for categorical variables, so you may want to disable those.
+
+@float Screenshot, frequencies:scr
+@psppimage {frequencies}
+@caption {The frequencies dialog box with the @exvar{sex} and @exvar{occupation} variables selected}
+@end float
 
 From @ref{frequencies:res} it is evident that there are 33 males, 21 females and
 2 persons for whom their sex has not been entered.
@@ -304,7 +314,7 @@ be corrected, or marked as missing before using the data.
 @caption {The relative frequencies of @exvar{sex} and @exvar{occupation}}
 @end float
 
-@node EXAMINE
+@node EXAMINE, GRAPH, FREQUENCIES, Statistics
 @section EXAMINE
 
 @vindex EXAMINE
@@ -352,11 +362,11 @@ The format for each factor is
 @end display
 Each unique combination of the values of  @var{factorvar} and
 @var{subfactorvar} divide the dataset into @dfn{cells}.
-Statistics will be calculated for each cell
+Statistics are calculated for each cell
 and for the entire dataset (unless @subcmd{NOTOTAL} is given).
 
 The @subcmd{STATISTICS} subcommand specifies which statistics to show.
-@subcmd{DESCRIPTIVES} will produce a table showing some parametric and
+@subcmd{DESCRIPTIVES} produces a table showing some parametric and
 non-parametrics statistics.
 @subcmd{EXTREME} produces a table showing the extremities of each cell.
 A number in parentheses, @var{n} determines
@@ -364,9 +374,9 @@ how many upper and lower extremities to show.
 The default number is 5.
 
 The subcommands @subcmd{TOTAL} and @subcmd{NOTOTAL} are mutually exclusive.
-If @subcmd{TOTAL} appears, then statistics will be produced for the entire dataset
-as well as for each cell.
-If @subcmd{NOTOTAL} appears, then statistics will be produced only for the cells
+If @subcmd{TOTAL} appears, then statistics for the entire dataset
+as well as for each cell are produced.
+If @subcmd{NOTOTAL} appears, then statistics are produced only for the cells
 (unless no factor variables have been given).
 These subcommands have no effect if there have  been no factor variables
 specified.
@@ -380,8 +390,8 @@ Available plots are @subcmd{HISTOGRAM}, @subcmd{NPPLOT},  @subcmd{BOXPLOT} and
 @subcmd{SPREADLEVEL}.
 The first three can be used to visualise how closely each cell conforms to a
 normal distribution, whilst the spread vs.@: level plot can be useful to visualise
-how the variance of differs between factors.
-Boxplots will also show you the outliers and extreme values.
+how the variance differs between factors.
+Boxplots show you the outliers and extreme values.
 @footnote{@subcmd{HISTOGRAM} uses Sturges' rule to determine the number of
 bins, as approximately @math{1 + \log2(n)}, where @math{n} is the number of samples.
 Note that @cmd{FREQUENCIES} uses a different algorithm to find the bin size.}
@@ -389,10 +399,10 @@ Note that @cmd{FREQUENCIES} uses a different algorithm to find the bin size.}
 The @subcmd{SPREADLEVEL} plot displays the interquartile range versus the
 median.  It takes an optional parameter @var{t}, which specifies how the data
 should be transformed prior to plotting.
-The given value @var{t} is a power to which the data is raised.  For example, if
-@var{t} is given as 2, then the data will be squared.
+The given value @var{t} is a power to which the data are raised.  For example, if
+@var{t} is given as 2, then the square of the data is used.
 Zero, however is a special value.  If @var{t} is 0 or
-is omitted, then data will be transformed by taking its natural logarithm instead of
+is omitted, then data are transformed by taking its natural logarithm instead of
 raising to the power of @var{t}.
 
 @cindex Shapiro-Wilk
@@ -419,7 +429,7 @@ The @subcmd{ID} subcommand is relevant only if @subcmd{/PLOT=BOXPLOT} or
 If given, it should provide the name of a variable which is to be used
 to labels extreme values and outliers.
 Numeric or string variables are permissible.
-If the @subcmd{ID} subcommand is not given, then the case number will be used for
+If the @subcmd{ID} subcommand is not given, then the case number is used for
 labelling.
 
 The @subcmd{CINTERVAL} subcommand specifies the confidence interval to use in
@@ -438,10 +448,10 @@ produced in addition to the factored variables.  If there are no
 factors specified then @subcmd{TOTAL} and @subcmd{NOTOTAL} have no effect.
 
 
-The following example will generate descriptive statistics and histograms for
+The following example generates descriptive statistics and histograms for
 two variables @var{score1} and @var{score2}.
 Two factors are given, @i{viz}: @var{gender} and @var{gender} BY @var{culture}.
-Therefore, the descriptives and histograms will be generated for each
+Therefore, the descriptives and histograms are generated for each
 distinct  value
 of @var{gender} @emph{and} for each distinct combination of the values
 of @var{gender} and @var{race}.
@@ -468,21 +478,20 @@ EXAMINE @var{height} @var{weight} BY
 In this example, we look at the height and weight of a sample of individuals and
 how they differ between male and female.
 A table showing the 3 largest and the 3 smallest values of @exvar{height} and
-@exvar{weight} for each gender, and for the whole dataset will be shown.
-Boxplots will also be produced.
-Because @subcmd{/COMPARE = GROUPS} was given, boxplots for male and female will be
-shown in the same graphic, allowing us to easily see the difference between
+@exvar{weight} for each gender, and for the whole dataset as are shown.
+In addition, the @subcmd{/PLOT} subcommand requests boxplots.
+Because @subcmd{/COMPARE = GROUPS} was specified, boxplots for male and female are
+shown in juxtaposed in the same graphic, allowing us to easily see the difference between
 the genders.
-Since the variable @var{name} was specified on the @subcmd{ID} subcommand, this will be
-used to label the extreme values.
+Since the variable @var{name} was specified on the @subcmd{ID} subcommand,
+values of the @var{name} variable are used to label the extreme values.
 
 @strong{Warning!}
-If many dependent variables are specified, or if factor variables are
-specified for which
-there are many distinct values, then @cmd{EXAMINE} will produce a very
+If you specify many dependent variables or factor variables
+for which there are many distinct values, then @cmd{EXAMINE} will produce a very
 large quantity of output.
 
-@node GRAPH
+@node GRAPH, CORRELATIONS, EXAMINE, Statistics
 @section GRAPH
 
 @vindex GRAPH
@@ -499,35 +508,36 @@ GRAPH
 
 @end display
 
-The @cmd{GRAPH} produces graphical plots of data. Only one of the subcommands
-@subcmd{HISTOGRAM} or @subcmd{SCATTERPLOT} can be specified, i.e. only one plot
+The @cmd{GRAPH} command produces graphical plots of data. Only one of the subcommands
+@subcmd{HISTOGRAM}, @subcmd{BAR} or @subcmd{SCATTERPLOT} can be specified, @i{i.e.} only one plot
 can be produced per call of @cmd{GRAPH}. The @subcmd{MISSING} is optional.
 
 @menu
-* SCATTERPLOT::             Cartesian Plots
-* HISTOGRAM::               Histograms
-* BAR CHART::               Bar Charts
+* SCATTERPLOT::                 Cartesian Plots
+* HISTOGRAM::                   Histograms
+* BAR CHART::                   Bar Charts
 @end menu
 
-@node SCATTERPLOT
+@node SCATTERPLOT, HISTOGRAM, GRAPH, GRAPH
 @subsection Scatterplot
 @cindex scatterplot
 
 The subcommand @subcmd{SCATTERPLOT} produces an xy plot of the
-data. The different values of the optional third variable @var{var3}
-will result in different colours and/or markers for the plot. The
-following is an example for producing a scatterplot.
+data.
+@cmd{GRAPH} uses the third variable @var{var3}, if specified, to determine
+the colours and/or markers for the plot.
+The following is an example for producing a scatterplot.
 
 @example
 GRAPH
         /SCATTERPLOT = @var{height} WITH @var{weight} BY @var{gender}.
 @end example
 
-This example will produce a scatterplot where @var{height} is plotted versus @var{weight}. Depending
+This example produces a scatterplot where @var{height} is plotted versus @var{weight}. Depending
 on the value of the @var{gender} variable, the colour of the datapoint is different. With
-this plot it is possible to analyze gender differences for @var{height} vs.@: @var{weight} relation.
+this plot it is possible to analyze gender differences for @var{height} versus @var{weight} relation.
 
-@node HISTOGRAM
+@node HISTOGRAM, BAR CHART, SCATTERPLOT, GRAPH
 @subsection Histogram
 @cindex histogram
 
@@ -543,7 +553,7 @@ GRAPH
         /HISTOGRAM = @var{weight}.
 @end example
 
-@node BAR CHART
+@node BAR CHART,  , HISTOGRAM, GRAPH
 @subsection Bar Chart
 @cindex bar chart
 
@@ -597,7 +607,7 @@ GRAPH  /BAR  = COUNT BY @var{city}.
 
 Bar charts can also be produced using the @ref{FREQUENCIES} and @ref{CROSSTABS} commands.
 
-@node CORRELATIONS
+@node CORRELATIONS, CROSSTABS, GRAPH, Statistics
 @section CORRELATIONS
 
 @vindex CORRELATIONS
@@ -621,12 +631,12 @@ CORRELATIONS
 The @cmd{CORRELATIONS} procedure produces tables of the Pearson correlation coefficient
 for a set of variables.  The significance of the coefficients are also given.
 
-At least one @subcmd{VARIABLES} subcommand is required. If the @subcmd{WITH}
-keyword is used, then a non-square correlation table will be produced.
-The variables preceding @subcmd{WITH}, will be used as the rows of the table,
-and the variables following will be the columns of the table.
-If no @subcmd{WITH} subcommand is given, then a square, symmetrical table using all variables is produced.
-
+At least one @subcmd{VARIABLES} subcommand is required. If you specify the @subcmd{WITH}
+keyword, then a non-square correlation table is produced.
+The variables preceding @subcmd{WITH}, are used as the rows of the table,
+and the variables following @subcmd{WITH} are used as the columns of the table.
+If no @subcmd{WITH} subcommand is specified, then @cmd{CORRELATIONS} produces a
+square, symmetrical table using all variables.
 
 The @cmd{MISSING} subcommand determines the handling of missing variables.
 If @subcmd{INCLUDE} is set, then user-missing values are included in the
@@ -654,13 +664,13 @@ If @subcmd{SIG} is specified, then no highlighting is performed.  This is the de
 The @subcmd{STATISTICS} subcommand requests additional statistics to be displayed.  The keyword
 @subcmd{DESCRIPTIVES} requests that the mean, number of non-missing cases, and the non-biased
 estimator of the standard deviation are displayed.
-These statistics will be displayed in a separated table, for all the variables listed
+These statistics are displayed in a separated table, for all the variables listed
 in any @subcmd{/VARIABLES} subcommand.
 The @subcmd{XPROD} keyword requests cross-product deviations and covariance estimators to
 be displayed for each pair of variables.
 The keyword @subcmd{ALL} is the union of @subcmd{DESCRIPTIVES} and @subcmd{XPROD}.
 
-@node CROSSTABS
+@node CROSSTABS, CTABLES, CORRELATIONS, Statistics
 @section CROSSTABS
 
 @vindex CROSSTABS
@@ -668,12 +678,8 @@ The keyword @subcmd{ALL} is the union of @subcmd{DESCRIPTIVES} and @subcmd{XPROD
 CROSSTABS
         /TABLES=@var{var_list} BY @var{var_list} [BY @var{var_list}]@dots{}
         /MISSING=@{TABLE,INCLUDE,REPORT@}
-        /WRITE=@{NONE,CELLS,ALL@}
         /FORMAT=@{TABLES,NOTABLES@}
-                @{PIVOT,NOPIVOT@}
                 @{AVALUE,DVALUE@}
-                @{NOINDEX,INDEX@}
-                @{BOX,NOBOX@}
         /CELLS=@{COUNT,ROW,COLUMN,TOTAL,EXPECTED,RESIDUAL,SRESIDUAL,
                 ASRESIDUAL,ALL,NONE@}
         /COUNT=@{ASIS,CASE,CELL@}
@@ -718,8 +724,6 @@ tables and statistics.  When set to @subcmd{REPORT}, which is allowed only in
 integer mode, user-missing values are included in tables but marked with
 a footnote and excluded from statistical calculations.
 
-Currently the @subcmd{WRITE} subcommand is ignored.
-
 The @subcmd{FORMAT} subcommand controls the characteristics of the
 crosstabulation tables to be displayed.  It has a number of possible
 settings:
@@ -727,22 +731,11 @@ settings:
 @itemize @w{}
 @item
 @subcmd{TABLES}, the default, causes crosstabulation tables to be output.
-@subcmd{NOTABLES} suppresses them.
-
-@item
-@subcmd{PIVOT}, the default, causes each @subcmd{TABLES} subcommand to be displayed in a
-pivot table format.  @subcmd{NOPIVOT} causes the old-style crosstabulation format
-to be used.
+@subcmd{NOTABLES}, which is equivalent to @code{CELLS=NONE}, suppresses them.
 
 @item
 @subcmd{AVALUE}, the default, causes values to be sorted in ascending order.
 @subcmd{DVALUE} asserts a descending sort order.
-
-@item
-@subcmd{INDEX} and @subcmd{NOINDEX} are currently ignored.
-
-@item
-@subcmd{BOX} and @subcmd{NOBOX} is currently ignored.
 @end itemize
 
 The @subcmd{CELLS} subcommand controls the contents of each cell in the displayed
@@ -774,7 +767,7 @@ Suppress cells entirely.
 @samp{/CELLS} without any settings specified requests @subcmd{COUNT}, @subcmd{ROW},
 @subcmd{COLUMN}, and @subcmd{TOTAL}.
 If @subcmd{CELLS} is not specified at all then only @subcmd{COUNT}
-will be selected.
+is selected.
 
 By default, crosstabulation and statistics use raw case weights,
 without rounding.  Use the @subcmd{/COUNT} subcommand to perform
@@ -834,7 +827,7 @@ some statistics are calculated only in integer mode.
 The @samp{/BARCHART} subcommand produces a clustered bar chart for the first two
 variables on each table.
 If a table has more than two variables, the counts for the third and subsequent levels
-will be aggregated and the chart will be produces as if there were only two variables.
+are aggregated and the chart is produced as if there were only two variables.
 
 
 @strong{Please note:} Currently the implementation of @cmd{CROSSTABS} has the
@@ -852,7 +845,495 @@ Approximate T is not calculated for symmetric uncertainty coefficient.
 
 Fixes for any of these deficiencies would be welcomed.
 
-@node FACTOR
+@subsection Crosstabs Example
+
+@cindex chi-square test of independence
+
+A researcher wishes to know if, in an industry, a person's sex is related to
+the person's occupation.  To investigate this, she has determined that the
+@file{personnel.sav} is a representative, randomly selected sample of persons.
+The researcher's null hypothesis is that a person's sex has no relation to a
+person's occupation. She uses a chi-squared test of independence to investigate
+the hypothesis.
+
+@float Example, crosstabs:ex
+@psppsyntax {crosstabs.sps}
+@caption {Running crosstabs on the @exvar{sex} and @exvar{occupation} variables}
+@end float
+
+The syntax in @ref{crosstabs:ex} conducts a chi-squared test of independence.
+The line @code{/tables = occupation by sex} indicates that @exvar{occupation}
+and @exvar{sex} are the variables to be tabulated.  To do this using the @gui{}
+you must place these variable names respectively in the @samp{Row} and
+@samp{Column} fields as shown in @ref{crosstabs:scr}.
+
+@float Screenshot, crosstabs:scr
+@psppimage {crosstabs}
+@caption {The Crosstabs dialog box with the @exvar{sex} and @exvar{occupation} variables selected}
+@end float
+
+Similarly, the @samp{Cells} button shows a dialog box to select the @code{count}
+and @code{expected} options.  All other cell options can be deselected for this
+test.
+
+You would use the @samp{Format} and @samp{Statistics}  buttons to select options
+for the @subcmd{FORMAT} and @subcmd{STATISTICS} subcommands.  In this example,
+the @samp{Statistics} requires only the @samp{Chisq} option to be checked.  All
+other options should be unchecked.  No special settings are required from the
+@samp{Format} dialog.
+
+As shown in @ref{crosstabs:res} @cmd{CROSSTABS} generates a contingency table
+containing the observed count and the expected count of each sex and each
+occupation.  The expected count is the count which would be observed if the
+null hypothesis were true.
+
+The significance of the Pearson Chi-Square value is very much larger than the
+normally accepted value of 0.05 and so one cannot reject the null hypothesis.
+Thus the researcher must conclude that a person's sex has no relation to the
+person's occupation.
+
+@float Results, crosstabs:res
+@psppoutput {crosstabs}
+@caption {The results of a test of independence between @exvar{sex} and @exvar{occupation}}
+@end float
+
+@node CTABLES, FACTOR, CROSSTABS, Statistics
+@section CTABLES
+
+@vindex CTABLES
+@cindex custom tables
+@cindex tables, custom
+
+@code{CTABLES} has the following overall syntax.  At least one
+@code{TABLE} subcommand is required:
+
+@display
+@t{CTABLES}
+  @dots{}@i{global subcommands}@dots{}
+  [@t{/TABLE} @i{axis} [@t{BY} @i{axis} [@t{BY} @i{axis}]]
+   @dots{}@i{per-table subcommands}@dots{}]@dots{}
+@end display
+
+@noindent
+where each @i{axis} may be empty or take one of the following forms:
+
+@display
+@i{variable}
+@i{variable} @t{[}@{@t{C} @math{|} @t{S}@}@t{]}
+@i{axis} + @i{axis}
+@i{axis} > @i{axis}
+(@i{axis})
+@i{axis} @t{(}@i{summary} [@i{string}] [@i{format}]@t{)}
+@end display
+
+The following subcommands precede the first @code{TABLE} subcommand
+and apply to all of the output tables.  All of these subcommands are
+optional:
+
+@display
+@t{/FORMAT}
+    [@t{MINCOLWIDTH=}@{@t{DEFAULT} @math{|} @i{width}@}]
+    [@t{MAXCOLWIDTH=}@{@t{DEFAULT} @math{|} @i{width}@}]
+    [@t{UNITS=}@{@t{POINTS} @math{|} @t{INCHES} @math{|} @t{CM}@}]
+    [@t{EMPTY=}@{@t{ZERO} @math{|} @t{BLANK} @math{|} @i{string}@}]
+    [@t{MISSING=}@i{string}]
+@t{/VLABELS}
+    @t{VARIABLES=}@i{variables}
+    @t{DISPLAY}=@{@t{DEFAULT} @math{|} @t{NAME} @math{|} @t{LABEL} @math{|} @t{BOTH} @math{|} @t{NONE}@}
+@t{/MRSETS COUNTDUPLICATES=}@{@t{YES} @math{|} @t{NO}@}
+@t{/SMISSING} @{@t{VARIABLE} @math{|} @t{LISTWISE}@}
+@t{/PCOMPUTE} @t{&}@i{category}@t{=EXPR(}@i{expression}@t{)}
+@t{/PPROPERTIES} @t{&}@i{category}@dots{}
+    [@t{LABEL=}@i{string}]
+    [@t{FORMAT=}[@i{summary} @i{format}]@dots{}]
+    [@t{HIDESOURCECATS=}@{@t{NO} @math{|} @t{YES}@}
+@t{/WEIGHT VARIABLE=}@i{variable}
+@t{/HIDESMALLCOUNTS COUNT=@i{count}}
+@end display
+
+The following subcommands follow @code{TABLE} and apply only to the
+previous @code{TABLE}.  All of these subcommands are optional:
+
+@display
+@t{/SLABELS}
+    [@t{POSITION=}@{@t{COLUMN} @math{|} @t{ROW} @math{|} @t{LAYER}@}]
+    [@t{VISIBLE=}@{@t{YES} @math{|} @t{NO}@}]
+@t{/CLABELS} @{@t{AUTO} @math{|} @{@t{ROWLABELS}@math{|}@t{COLLABELS}@}@t{=}@{@t{OPPOSITE}@math{|}@t{LAYER}@}@}
+@t{/CRITERIA CILEVEL=}@i{percentage}
+@t{/CATEGORIES} @t{VARIABLES=}@i{variables}
+    @{@t{[}@i{value}@t{,} @i{value}@dots{}@t{]}
+   @math{|} [@t{ORDER=}@{@t{A} @math{|} @t{D}@}]
+     [@t{KEY=}@{@t{VALUE} @math{|} @t{LABEL} @math{|} @i{summary}@t{(}@i{variable}@t{)}@}]
+     [@t{MISSING=}@{@t{EXCLUDE} @math{|} @t{INCLUDE}@}]@}
+    [@t{TOTAL=}@{@t{NO} @math{|} @t{YES}@} [@t{LABEL=}@i{string}] [@t{POSITION=}@{@t{AFTER} @math{|} @t{BEFORE}@}]]
+    [@t{EMPTY=}@{@t{INCLUDE} @math{|} @t{EXCLUDE}@}]
+@t{/TITLES}
+    [@t{TITLE=}@i{string}@dots{}]
+    [@t{CAPTION=}@i{string}@dots{}]
+    [@t{CORNER=}@i{string}@dots{}]
+@t{/SIGTEST TYPE=CHISQUARE}
+    [@t{ALPHA=}@i{siglevel}]
+    [@t{INCLUDEMRSETS=}@{@t{YES} @math{|} @t{NO}@}]
+    [@t{CATEGORIES=}@{@t{ALLVISIBLE} @math{|} @t{SUBTOTALS}@}]
+@t{/COMPARETEST TYPE=}@{@t{PROP} @math{|} @t{MEAN}@}
+    [@t{ALPHA=}@i{value}[@t{,} @i{value}]]
+    [@t{ADJUST=}@{@t{BONFERRONI} @math{|} @t{BH} @math{|} @t{NONE}@}]
+    [@t{INCLUDEMRSETS=}@{@t{YES} @math{|} @t{NO}@}]
+    [@t{MEANSVARIANCE=}@{@t{ALLCATS} @math{|} @t{TESTEDCATS}@}]
+    [@t{CATEGORIES=}@{@t{ALLVISIBLE} @math{|} @t{SUBTOTALS}@}]
+    [@t{MERGE=}@{@t{NO} @math{|} @t{YES}@}]
+    [@t{STYLE=}@{@t{APA} @math{|} @t{SIMPLE}@}]
+    [@t{SHOWSIG=}@{@t{NO} @math{|} @t{YES}@}]
+@end display
+
+The @code{CTABLES} (aka ``custom tables'') command produces
+multi-dimensional tables from categorical and scale data.  It offers
+many options for data summarization and formatting.
+
+This section's examples use data from the 2008 (USA) National Survey
+of Drinking and Driving Attitudes and Behaviors, a public domain data
+set from the (USA) National Highway Traffic Administration and
+available at @url{https://data.transportation.gov}.  @pspp{} includes
+this data set, with a slightly modified dictionary, as
+@file{examples/nhtsa.sav}.
+
+@menu
+* CTABLES Basics::
+* CTABLES Data Summarization::
+@end menu
+
+@node CTABLES Basics, CTABLES Data Summarization, CTABLES, CTABLES
+@subsection Basics
+
+The only required subcommand is @code{TABLE}, which specifies the
+variables to include along each axis:
+@display
+@t{/TABLE} @i{rows} [@t{BY} @i{columns} [@t{BY} @i{layers}]]
+@end display
+@noindent
+In @code{TABLE}, each of @var{rows}, @var{columns}, and @var{layers}
+is either empty or an axis expression that specifies one or more
+variables.  At least one must specify an axis expression.
+
+@menu
+* CTABLES Categorical Variable Basics::
+* CTABLES Scalar Variable Basics::
+* CTABLES Overriding Measurement Level::
+* CTABLES Multiple Response Sets::
+@end menu
+
+@node CTABLES Categorical Variable Basics, CTABLES Scalar Variable Basics, CTABLES Basics, CTABLES Basics
+@subsubsection Categorical Variables
+
+An axis expression that names a categorical variable divides the data
+into cells according to the values of that variable.  When all the
+variables named on @code{TABLE} are categorical, by default each cell
+displays the number of cases that it contains, so specifying a single
+variable yields a frequency table:
+
+@example
+CTABLES /TABLE=AgeGroup.
+@end example
+@psppoutput {ctables1}
+
+@noindent
+Specifying a row and a column categorical variable yields a
+crosstabulation:
+
+@example
+CTABLES /TABLE=AgeGroup BY qns3a.
+@end example
+@psppoutput {ctables2}
+
+@noindent
+The @samp{>} ``nesting'' operator nests multiple variables on a single
+axis, e.g.:
+
+@example
+CTABLES /TABLE qn105ba BY AgeGroup > qns3a.
+@end example
+@psppoutput {ctables3}
+
+@noindent
+The @samp{+} ``stacking'' operator allows a single output table to
+include multiple data analyses.  With @samp{+}, @code{CTABLES} divides
+the output table into multiple @dfn{sections}, each of which includes
+an analysis of the full data set.  For example, the following command
+separately tabulates age group and driving frequency by gender:
+
+@example
+CTABLES /TABLE AgeGroup + qn1 BY qns3a.
+@end example
+@psppoutput {ctables4}
+
+@noindent
+If @samp{+} and @samp{>} are used together, @samp{>} binds more
+tightly.  Use parentheses to override operator precedence.  Thus:
+
+@example
+CTABLES /TABLE qn26 + qn27 > qns3a.
+CTABLES /TABLE (qn26 + qn27) > qns3a.
+@end example
+@psppoutput {ctables5}
+
+@node CTABLES Scalar Variable Basics, CTABLES Overriding Measurement Level, CTABLES Categorical Variable Basics, CTABLES Basics
+@subsubsection Scalar Variables
+
+Categorical variables make @code{CTABLES} divide tables into cells.
+With scalar variables, @code{CTABLES} instead calculates a summary
+measure, by default the mean, of the values that fall into a cell.
+For example, if the only variable specified is a scalar variable, then
+the output is a single cell that holds the mean of all of the data:
+
+@example
+CTABLES /TABLE qnd1.
+@end example
+@psppoutput {ctables6}
+
+A scalar variable may nest with categorical variables.  The following
+example shows the mean age of survey respondents across gender and
+language groups:
+
+@example
+CTABLES /TABLE qns3a > qnd1 BY region.
+@end example
+@psppoutput {ctables7}
+
+The order of nesting of scalar and categorical variables affects table
+labeling, but it does not affect the data displayed in the table.  The
+following example shows how the output changes when the nesting order
+of the scalar and categorical variable are interchanged:
+
+@example
+CTABLES /TABLE qnd1 > qns3a BY region.
+@end example
+@psppoutput {ctables8}
+
+Only a single scalar variable may appear in each section; that is, a
+scalar variable may not nest inside a scalar variable directly or
+indirectly.  Scalar variables may only appear on one axis within
+@code{TABLE}.
+
+@node CTABLES Overriding Measurement Level, CTABLES Multiple Response Sets, CTABLES Scalar Variable Basics, CTABLES Basics
+@subsubsection Overriding Measurement Level
+
+By default, @code{CTABLES} uses a variable's measurement level to
+decide whether to treat it as categorical or scalar.  Variables
+assigned the nominal or ordinal measurement level are treated as
+categorical, and scalar variables are treated as scalar.
+
+Use the @code{VARIABLE LEVEL} command to change a variable's
+measurement level.  To treat a variable as categorical or scalar only
+for one use on @code{CTABLES}, add @samp{[C]} or @samp{[S]},
+respectively, after the variable name.  The following example shows
+how to analyze the scalar variable @code{qn20} as categorical:
+
+@example
+CTABLES /TABLE qn20 [C] BY qns3a.
+@end example
+@psppoutput {ctables9}
+
+@node CTABLES Multiple Response Sets,  , CTABLES Overriding Measurement Level, CTABLES Basics
+@subsubheading Multiple Response Sets
+
+The @code{CTABLES} command does not yet support multiple response
+sets.
+
+@node CTABLES Data Summarization,  , CTABLES Basics, CTABLES
+@subsection Data Summarization
+
+The @code{CTABLES} command allows the user to control how the data are
+summarized with summary specifications, which are enclosed in square
+brackets following a variable name on the @code{TABLE} subcommand.
+When all the variables are categorical, summary specifications can be
+given for the innermost nested variables on any one axis.  When a
+scalar variable is present, only the scalar variable may have summary
+specifications.  The following example includes a summary
+specification for column and row percentages for categorical
+variables, and mean and median for a scalar variable:
+
+@example
+CTABLES
+    /TABLE=qnd1 [MEAN, MEDIAN] BY qns3a
+    /TABLE=AgeGroup [COLPCT, ROWPCT] BY qns3a.
+@end example
+@psppoutput {ctables10}
+
+A summary specification may override the default label and format by
+appending a string or format specification or both (in that order) to
+the summary function name.  For example:
+
+@example
+CTABLES /TABLE=AgeGroup [COLPCT 'Gender %' PCT5.0,
+                         ROWPCT 'Age Group %' PCT5.0]
+               BY qns3a.
+@end example
+@psppoutput {ctables11}
+
+Parentheses are a shorthand to apply summary specifications to
+multiple variables.  For example, both of these commands:
+
+@example
+CTABLES /TABLE=AgeGroup[COLPCT] + qns1[COLPCT] BY qns3a.
+CTABLES /TABLE=(AgeGroup + qns1)[COLPCT] BY qns3a.
+@end example
+
+@noindent
+produce the same output shown below:
+
+@psppoutput {ctables12}
+
+The following sections list the available summary functions.
+
+@menu
+* CTABLES Summary Functions for Categorical and Scale Variables::
+@end menu
+
+@node CTABLES Summary Functions for Categorical and Scale Variables,  , CTABLES Data Summarization, CTABLES Data Summarization
+@subsubsection Summary Functions for Categorical and Scale Variables
+
+This section lists the summary functions that can be applied to cells
+in @code{CTABLES}.  Many of these functions have an @var{area} in
+their names.  The supported areas are:
+
+@itemize @bullet
+@item
+Areas that correspond to parts of @dfn{subtables}, whose contents are
+the cells that pair an innermost row variable and an innermost column
+variable:
+
+@table @code
+@item ROW
+A row within a subtable.
+
+@item COL
+A column within a subtable.
+
+@item SUBTABLE
+All the cells in a subtable
+@end table
+
+@item
+Areas that correspond to parts of @dfn{sections}, where stacked
+variables divide each section from another:
+
+@table @code
+@item TABLE
+An entire section.
+
+@item LAYER
+A layer within a section.
+
+@item LAYERROW
+A row in one layer within a section.
+
+@item LAYERCOL
+A column in one layer within a section.
+@end table
+@end itemize
+
+The following table lists summary functions that may be applied to any
+variable regardless of whether it is categorical or scalar, along with
+their default labels:
+
+@table @asis
+@item @code{COUNT} (``Count'')
+The sum of weights in a cell.
+
+@item @i{area}@code{PCT} or @i{area}@code{PCT.COUNT} (``@i{Area} %'')
+A percentage within the specified @var{area}.
+
+@item @i{area}@code{PCT.VALIDN} (``@i{Area} Valid N %'')
+A percentage of valid values within the specified @var{area}.
+
+@item @i{area}@code{PCT.TOTALN} (``@i{Area} Total N %'')
+A percentage of total values within the specified @var{area}.
+@end table
+
+The following table lists summary functions that apply only to scale
+variables:
+
+@table @asis
+@item @code{MAXIMUM} (``Maximum'')
+The largest value.
+
+@item @code{MEAN} (``Mean'')
+The mean.
+
+@item @code{MEDIAN} (``Median'')
+The median value.
+
+@item @code{MINIMUM} (``Minimum'')
+The smallest value.
+
+@item @code{MISSING} (``Missing'')
+Sum of weights of user- and system-missing values.
+
+@item @code{MODE} (``Mode'')
+The highest-frequency value.  Ties are broken by taking the smallest mode.
+
+@item @i{area}@code{PCT.SUM} (``@i{Area} Sum %'')
+Percentage of the sum of the values across @var{area}.
+
+@item @code{PTILE} @i{n} (``Percentile @i{n}'')
+The @var{n}th percentile, where @math{0 @leq{} @var{n} @leq{} 100}.
+
+@item @code{RANGE} (``Range'')
+The maximum minus the minimum.
+
+@item @code{SEMEAN} (``Std Error of Mean'')
+The standard error of the mean.
+
+@item @code{STDDEV} (``Std Deviation'')
+The standard deviation.
+
+@item @code{SUM} (``Sum'')
+The sum.
+
+@item @code{TOTALN} (``Total N'')
+The sum of total count weights.
+
+@item @code{VALIDN} (``Valid N'')
+The sum of valid count weights.
+
+@item @code{VARIANCE} (``Variance'')
+The variance.
+@end table
+
+If the @code{WEIGHT} subcommand specified an adjustment weight
+variable, then the following summary functions use its value instead
+of the dictionary weight variable.  Otherwise, they are equivalent to
+the summary function without the @samp{E}-prefix:
+
+@itemize @bullet
+@item @code{ECOUNT} (``Adjusted Count'')
+@item @code{ETOTALN} (``Adjusted Total N'')
+@item @code{EVALIDN} (``Adjusted Valid N'')
+@end itemize
+
+The following summary functions with a @samp{U}-prefix are equivalent
+to those without a prefix, except that they use unweighted counts:
+
+@itemize @bullet
+@item @code{UCOUNT} (``Unweighted Count'')
+@item @code{U}@i{area}@code{PCT} or @code{U}@i{area}@code{PCT.COUNT} (``Unweighted @i{Area} %'')
+@item @code{U}@i{area}@code{PCT.VALIDN} (``Unweighted @i{Area} Valid N %'')
+@item @code{U}@i{area}@code{PCT.TOTALN} (``Unweighted @i{Area} Total N %'')
+@item @code{UMEAN} (``Unweighted Mean'')
+@item @code{UMEDIAN} (``Unweighted Median'')
+@item @code{UMISSING} (``Unweighted Missing'')
+@item @code{UMODE} (``Unweight Mode'')
+@item @code{U}@i{area}@code{PCT.SUM} (``Unweighted @i{Area} Sum %'')
+@item @code{UPTILE} @i{n} (``Unweighted Percentile @i{n}'') 
+@item @code{USEMEAN} (``Unweighted Std Error of Mean'')
+@item @code{USTDDEV} (``Unweighted Std Deviation'')
+@item @code{USUM} (``Unweighted Sum'')
+@item @code{UTOTALN} (``Unweighted Total N'')
+@item @code{UVALIDN} (``Unweighted Valid N'')
+@item @code{UVARIANCE} (``Unweighted Variance'')
+@end itemize
+
+@node FACTOR, GLM, CTABLES, Statistics
 @section FACTOR
 
 @vindex FACTOR
@@ -905,21 +1386,23 @@ then by @samp{=} and @var{file_spec} all in parentheses.
 dataset, or it may be a file name to be loaded. @xref{MATRIX DATA}, for the expected
 format of the file.
 
-The @subcmd{/EXTRACTION} subcommand is used to specify the way in which factors (components) are extracted from the data.
+The @subcmd{/EXTRACTION} subcommand is used to specify the way in which factors
+(components) are extracted from the data.
 If @subcmd{PC} is specified, then Principal Components Analysis is used.
 If @subcmd{PAF} is specified, then Principal Axis Factoring is
-used. By default Principal Components Analysis will be used.
+used. By default Principal Components Analysis is used.
 
-The @subcmd{/ROTATION} subcommand is used to specify the method by which the extracted solution will be rotated.
-Three orthogonal rotation methods are available:
+The @subcmd{/ROTATION} subcommand is used to specify the method by which the
+extracted solution is rotated.  Three orthogonal rotation methods are available:
 @subcmd{VARIMAX} (which is the default), @subcmd{EQUAMAX}, and @subcmd{QUARTIMAX}.
 There is one oblique rotation method, @i{viz}: @subcmd{PROMAX}.
 Optionally you may enter the power of the promax rotation @var{k}, which must be enclosed in parentheses.
 The default value of @var{k} is 5.
-If you don't want any rotation to be performed, the word @subcmd{NOROTATE} will prevent the command from performing any
-rotation on the data.
+If you don't want any rotation to be performed, the word @subcmd{NOROTATE}
+prevents the command from performing any rotation on the data.
 
-The @subcmd{/METHOD} subcommand should be used to determine whether the covariance matrix or the correlation matrix of the data is
+The @subcmd{/METHOD} subcommand should be used to determine whether the
+covariance matrix or the correlation matrix of the data is
 to be analysed.  By default, the correlation matrix is analysed.
 
 The @subcmd{/PRINT} subcommand may be used to select which features of the analysis are reported:
@@ -951,49 +1434,57 @@ The @subcmd{/PRINT} subcommand may be used to select which features of the analy
       Identical to @subcmd{INITIAL} and @subcmd{EXTRACTION}.
 @end itemize
 
-If @subcmd{/PLOT=EIGEN} is given, then a ``Scree'' plot of the eigenvalues will be printed.  This can be useful for visualizing
+If @subcmd{/PLOT=EIGEN} is given, then a ``Scree'' plot of the eigenvalues is
+printed.  This can be useful for visualizing the factors and deciding
 which factors (components) should be retained.
 
-The @subcmd{/FORMAT} subcommand determined how data are to be displayed in loading matrices.  If @subcmd{SORT} is specified, then the variables
-are sorted in descending order of significance.  If @subcmd{BLANK(@var{n})} is specified, then coefficients whose absolute value is less
-than @var{n} will not be printed.  If the keyword @subcmd{DEFAULT} is given, or if no @subcmd{/FORMAT} subcommand is given, then no sorting is
-performed, and all coefficients will be printed.
-
-The @subcmd{/CRITERIA} subcommand is used to specify how the number of extracted factors (components) are chosen.
-If @subcmd{FACTORS(@var{n})} is
-specified, where @var{n} is an integer, then @var{n} factors will be extracted.  Otherwise, the @subcmd{MINEIGEN} setting will
-be used.
-@subcmd{MINEIGEN(@var{l})} requests that all factors whose eigenvalues are greater than or equal to @var{l} are extracted.
-The default value of @var{l} is 1.
-The @subcmd{ECONVERGE} setting has effect only when iterative algorithms for factor
-extraction (such as Principal Axis Factoring) are used.
-@subcmd{ECONVERGE(@var{delta})} specifies that
-iteration should cease when
-the maximum absolute value of the communality estimate between one iteration and the previous is less than @var{delta}. The
-default value of @var{delta} is 0.001.
-The @subcmd{ITERATE(@var{m})} may appear any number of times and is used for two different purposes.
-It is used to set the maximum number of iterations (@var{m}) for convergence and also to set the maximum number of iterations
-for rotation.
-Whether it affects convergence or rotation depends upon which subcommand follows the @subcmd{ITERATE} subcommand.
+The @subcmd{/FORMAT} subcommand determined how data are to be
+displayed in loading matrices.  If @subcmd{SORT} is specified, then
+the variables are sorted in descending order of significance.  If
+@subcmd{BLANK(@var{n})} is specified, then coefficients whose absolute
+value is less than @var{n} are not printed.  If the keyword
+@subcmd{DEFAULT} is specified, or if no @subcmd{/FORMAT} subcommand is
+specified, then no sorting is performed, and all coefficients are printed.
+
+You can use the @subcmd{/CRITERIA} subcommand to specify how the number of
+extracted factors (components) are chosen.  If @subcmd{FACTORS(@var{n})} is
+specified, where @var{n} is an integer, then @var{n} factors are
+extracted.  Otherwise, the @subcmd{MINEIGEN} setting is used.
+@subcmd{MINEIGEN(@var{l})} requests that all factors whose eigenvalues
+are greater than or equal to @var{l} are extracted. The default value
+of @var{l} is 1. The @subcmd{ECONVERGE} setting has effect only when
+using iterative algorithms for factor extraction (such as Principal Axis
+Factoring).  @subcmd{ECONVERGE(@var{delta})} specifies that
+iteration should cease when the maximum absolute value of the
+communality estimate between one iteration and the previous is less
+than @var{delta}. The default value of @var{delta} is 0.001.
+
+The @subcmd{ITERATE(@var{m})} may appear any number of times and is
+used for two different purposes. It is used to set the maximum number
+of iterations (@var{m}) for convergence and also to set the maximum
+number of iterations for rotation.
+Whether it affects convergence or rotation depends upon which
+subcommand follows the @subcmd{ITERATE} subcommand.
 If @subcmd{EXTRACTION} follows, it affects convergence.
 If @subcmd{ROTATION} follows, it affects rotation.
-If neither @subcmd{ROTATION} nor @subcmd{EXTRACTION} follow a @subcmd{ITERATE} subcommand it will be ignored.
+If neither @subcmd{ROTATION} nor @subcmd{EXTRACTION} follow a
+@subcmd{ITERATE} subcommand, then the entire subcommand is ignored.
 The default value of @var{m} is 25.
 
-The @cmd{MISSING} subcommand determines the handling of missing variables.
-If @subcmd{INCLUDE} is set, then user-missing values are included in the
-calculations, but system-missing values are not.
+The @cmd{MISSING} subcommand determines the handling of missing
+variables.  If @subcmd{INCLUDE} is set, then user-missing values are
+included in the calculations, but system-missing values are not.
 If @subcmd{EXCLUDE} is set, which is the default, user-missing
-values are excluded as well as system-missing values.
-This is the default.
-If @subcmd{LISTWISE} is set, then the entire case is excluded from analysis
-whenever any variable  specified in the @cmd{VARIABLES} subcommand
-contains a missing value.
-If @subcmd{PAIRWISE} is set, then a case is considered missing only if either of the
-values  for the particular coefficient are missing.
+values are excluded as well as system-missing values.  This is the
+default. If @subcmd{LISTWISE} is set, then the entire case is excluded
+from analysis whenever any variable  specified in the @cmd{VARIABLES}
+subcommand contains a missing value.
+
+If @subcmd{PAIRWISE} is set, then a case is considered missing only if
+either of the values  for the particular coefficient are missing.
 The default is @subcmd{LISTWISE}.
 
-@node GLM
+@node GLM, LOGISTIC REGRESSION, FACTOR, Statistics
 @section GLM
 
 @vindex GLM
@@ -1019,7 +1510,7 @@ You may analyse several variables in the same command in which case they should
 appear before the @code{BY} keyword.
 
 The @var{fixed_factors} list must be one or more categorical variables.  Normally it
-will not make sense to enter a scalar variable in the @var{fixed_factors} and doing
+does not make sense to enter a scalar variable in the @var{fixed_factors} and doing
 so may cause @pspp{} to do a lot of unnecessary processing.
 
 The @subcmd{METHOD} subcommand is used to change the method for producing the sums of
@@ -1052,7 +1543,7 @@ values are considered to be missing as well as system-missing values.
 A case for which any dependent variable or any factor
 variable has a missing value is excluded from the analysis.
 
-@node LOGISTIC REGRESSION
+@node LOGISTIC REGRESSION, MEANS, GLM, Statistics
 @section LOGISTIC REGRESSION
 
 @vindex LOGISTIC REGRESSION
@@ -1138,7 +1629,7 @@ If @subcmd{EXCLUDE} is set, which is the default, user-missing
 values are excluded as well as system-missing values.
 This is the default.
 
-@node MEANS
+@node MEANS, NPAR TESTS, LOGISTIC REGRESSION, Statistics
 @section MEANS
 
 @vindex MEANS
@@ -1176,7 +1667,7 @@ If you specify a grouping variable, for example
 MEANS @var{v} BY @var{g}.
 @end example
 @noindent then the means, counts and standard deviations for @var{v} after having
-been grouped by @var{g} will be calculated.
+been grouped by @var{g} are calculated.
 Instead of the mean, count and standard deviation, you could specify the statistics
 in which you are interested:
 @example
@@ -1233,9 +1724,9 @@ In addition, three special keywords are recognized:
 @item @subcmd{DEFAULT}
       This is the same as @subcmd{MEAN} @subcmd{COUNT} @subcmd{STDDEV}.
 @item @subcmd{ALL}
-      All of the above statistics will be calculated.
+      All of the above statistics are calculated.
 @item @subcmd{NONE}
-      No statistics will be calculated (only a summary will be shown).
+      No statistics are calculated (only a summary is shown).
 @end itemize
 
 
@@ -1307,7 +1798,7 @@ containing a large number of distinct values may result in an extremely large ou
 will not be easy to interpret.
 So you should consider carefully which variables to select for participation in the analysis.
 
-@node NPAR TESTS
+@node NPAR TESTS, T-TEST, MEANS, Statistics
 @section NPAR TESTS
 
 @vindex NPAR TESTS
@@ -1340,30 +1831,30 @@ Therefore, by default asymptotic approximations are used unless the
 subcommand @subcmd{/METHOD=EXACT} is specified.
 Exact tests give more accurate results, but may take an unacceptably long
 time to perform.  If the @subcmd{TIMER} keyword is used, it sets a maximum time,
-after which the test will be abandoned, and a warning message printed.
+after which the test is abandoned, and a warning message printed.
 The time, in minutes, should be specified in parentheses after the @subcmd{TIMER} keyword.
 If the @subcmd{TIMER} keyword is given without this figure, then a default value of 5 minutes
 is used.
 
 
 @menu
-* BINOMIAL::                Binomial Test
-* CHISQUARE::               Chi-square Test
-* COCHRAN::                 Cochran Q Test
-* FRIEDMAN::                Friedman Test
-* KENDALL::                 Kendall's W Test
-* KOLMOGOROV-SMIRNOV::      Kolmogorov Smirnov Test
-* KRUSKAL-WALLIS::          Kruskal-Wallis Test
-* MANN-WHITNEY::            Mann Whitney U Test
-* MCNEMAR::                 McNemar Test
-* MEDIAN::                  Median Test
-* RUNS::                    Runs Test
-* SIGN::                    The Sign Test
-* WILCOXON::                Wilcoxon Signed Ranks Test
+* BINOMIAL::                    Binomial Test
+* CHISQUARE::                   Chi-square Test
+* COCHRAN::                     Cochran Q Test
+* FRIEDMAN::                    Friedman Test
+* KENDALL::                     Kendall's W Test
+* KOLMOGOROV-SMIRNOV::          Kolmogorov Smirnov Test
+* KRUSKAL-WALLIS::              Kruskal-Wallis Test
+* MANN-WHITNEY::                Mann Whitney U Test
+* MCNEMAR::                     McNemar Test
+* MEDIAN::                      Median Test
+* RUNS::                        Runs Test
+* SIGN::                        The Sign Test
+* WILCOXON::                    Wilcoxon Signed Ranks Test
 @end menu
 
 
-@node    BINOMIAL
+@node    BINOMIAL, CHISQUARE, NPAR TESTS, NPAR TESTS
 @subsection Binomial test
 @vindex BINOMIAL
 @cindex binomial test
@@ -1383,7 +1874,7 @@ used as the threshold to partition the observed values. Values less
 than or equal to the threshold value form the first category.  Values
 greater than the threshold form the second category.
 
-If two values appear after the variable list, then they will be used
+If two values appear after the variable list, then they are used
 as the values which a variable must take to be in the respective
 category.
 Cases for which a variable takes a value equal to neither of the specified
@@ -1410,7 +1901,7 @@ compute the binomial significance.  Thus, exact results are reported
 even for very large sample sizes.
 
 
-@node    CHISQUARE
+@node    CHISQUARE, COCHRAN, BINOMIAL, NPAR TESTS
 @subsection Chi-square Test
 @vindex CHISQUARE
 @cindex chi-square test
@@ -1454,6 +1945,11 @@ The analysis is performed as shown in @ref{chisquare:ex}.
 There is only one test variable, @i{viz:} @exvar{sex}.  The other variables in the dataset
 are ignored.
 
+@float Screenshot, chisquare:scr
+@psppimage {chisquare}
+@caption {Performing a chi-square test using the graphic user interface}
+@end float
+
 In @ref{chisquare:res} the summary box shows that in the sample, there are more males
 than females.  However the significance of chi-square result is greater than 0.05
 --- the most commonly accepted p-value --- and therefore
@@ -1467,7 +1963,7 @@ in the population.
 @end float
 
 
-@node COCHRAN
+@node COCHRAN, FRIEDMAN, CHISQUARE, NPAR TESTS
 @subsection Cochran Q Test
 @vindex Cochran
 @cindex Cochran Q test
@@ -1478,11 +1974,13 @@ in the population.
 @end display
 
 The Cochran Q test is used to test for differences between three or more groups.
-The data for @var{var_list} in all cases must assume exactly two distinct values (other than missing values).
+The data for @var{var_list} in all cases must assume exactly two
+distinct values (other than missing values).
 
-The value of Q will be displayed and its Asymptotic significance based on a chi-square distribution.
+The value of Q is displayed along with its Asymptotic significance
+based on a chi-square distribution.
 
-@node FRIEDMAN
+@node FRIEDMAN, KENDALL, COCHRAN, NPAR TESTS
 @subsection Friedman Test
 @vindex FRIEDMAN
 @cindex Friedman test
@@ -1497,7 +1995,7 @@ there is no indication that the distributions are normally distributed.
 A list of variables which contain the measured data must be given.  The procedure
 prints the sum of ranks for each variable, the test statistic and its significance.
 
-@node KENDALL
+@node KENDALL, KOLMOGOROV-SMIRNOV, FRIEDMAN, NPAR TESTS
 @subsection Kendall's W Test
 @vindex KENDALL
 @cindex Kendall's W test
@@ -1514,7 +2012,7 @@ It has the range [0,1] --- a value of zero indicates no agreement between the sa
 unity indicates complete agreement.
 
 
-@node KOLMOGOROV-SMIRNOV
+@node KOLMOGOROV-SMIRNOV, KRUSKAL-WALLIS, KENDALL, NPAR TESTS
 @subsection Kolmogorov-Smirnov Test
 @vindex KOLMOGOROV-SMIRNOV
 @vindex K-S
@@ -1528,15 +2026,18 @@ The one sample Kolmogorov-Smirnov subcommand is used to test whether or not a da
 drawn from a particular distribution.  Four distributions are supported, @i{viz:}
 Normal, Uniform, Poisson and Exponential.
 
-Ideally you should provide the parameters of the distribution against which you wish to test
-the data. For example, with the normal distribution  the mean (@var{mu})and standard deviation (@var{sigma})
-should be given; with the uniform distribution, the minimum (@var{min})and maximum (@var{max}) value should
-be provided.
-However, if the parameters are omitted they will be imputed from the data. Imputing the
-parameters reduces the power of the test so should be avoided if possible.
-
-In the following example, two variables @var{score} and @var{age} are tested to see if
-they follow a normal distribution with a mean of 3.5 and a standard deviation of 2.0.
+Ideally you should provide the parameters of the distribution against
+which you wish to test the data. For example, with the normal
+distribution  the mean (@var{mu})and standard deviation (@var{sigma})
+should be given; with the uniform distribution, the minimum
+(@var{min})and maximum (@var{max}) value should be provided.
+However, if the parameters are omitted they are imputed from the
+data.  Imputing the parameters reduces the power of the test so should
+be avoided if possible.
+
+In the following example, two variables @var{score} and @var{age} are
+tested to see if they follow a normal distribution with a mean of 3.5
+and a standard deviation of 2.0.
 @example
   NPAR TESTS
         /KOLMOGOROV-SMIRNOV (normal 3.5 2.0) = @var{score} @var{age}.
@@ -1553,7 +2054,7 @@ is tested against a normal distribution of mean 40 and standard deviation 1.5.
 
 The abbreviated subcommand  @subcmd{K-S} may be used in place of @subcmd{KOLMOGOROV-SMIRNOV}.
 
-@node KRUSKAL-WALLIS
+@node KRUSKAL-WALLIS, MANN-WHITNEY, KOLMOGOROV-SMIRNOV, NPAR TESTS
 @subsection Kruskal-Wallis Test
 @vindex KRUSKAL-WALLIS
 @vindex K-W
@@ -1568,16 +2069,18 @@ arbitrary number of populations.  It does not assume normality.
 The data to be compared are specified by @var{var_list}.
 The categorical variable determining the groups to which the
 data belongs is given by @var{var}. The limits @var{lower} and
-@var{upper} specify the valid range of @var{var}. Any cases for
-which @var{var} falls outside [@var{lower}, @var{upper}] will be
-ignored.
+@var{upper} specify the valid range of @var{var}.
+If @var{upper} is smaller than @var{lower}, the PSPP will assume their values
+to be reversed. Any cases for which @var{var} falls outside
+[@var{lower}, @var{upper}] are ignored.
 
-The mean rank of each group as well as the chi-squared value and significance
-of the test will be printed.
-The abbreviated subcommand  @subcmd{K-W} may be used in place of @subcmd{KRUSKAL-WALLIS}.
+The mean rank of each group as well as the chi-squared value and
+significance of the test are printed.
+The abbreviated subcommand  @subcmd{K-W} may be used in place of
+@subcmd{KRUSKAL-WALLIS}.
 
 
-@node MANN-WHITNEY
+@node MANN-WHITNEY, MCNEMAR, KRUSKAL-WALLIS, NPAR TESTS
 @subsection Mann-Whitney U Test
 @vindex MANN-WHITNEY
 @vindex M-W
@@ -1588,17 +2091,23 @@ The abbreviated subcommand  @subcmd{K-W} may be used in place of @subcmd{KRUSKAL
      [ /MANN-WHITNEY = @var{var_list} BY var (@var{group1}, @var{group2}) ]
 @end display
 
-The Mann-Whitney subcommand is used to test whether two groups of data come from different populations.
-The variables to be tested should be specified in @var{var_list} and the grouping variable, that determines to which group the test variables belong, in @var{var}.
+The Mann-Whitney subcommand is used to test whether two groups of data
+come from different populations. The variables to be tested should be
+specified in @var{var_list} and the grouping variable, that determines
+to which group the test variables belong, in @var{var}.
 @var{Var} may be either a string or an alpha variable.
 @var{Group1} and @var{group2} specify the
 two values of @var{var} which determine the groups of the test data.
-Cases for which the @var{var} value is neither @var{group1} or @var{group2} will be ignored.
+Cases for which the @var{var} value is neither @var{group1} or
+@var{group2} are ignored.
 
-The value of the Mann-Whitney U statistic, the Wilcoxon W, and the significance will be printed.
-The abbreviated subcommand  @subcmd{M-W} may be used in place of @subcmd{MANN-WHITNEY}.
+The value of the Mann-Whitney U statistic, the Wilcoxon W, and the
+significance are printed.
+You may abbreviated the subcommand @subcmd{MANN-WHITNEY} to
+@subcmd{M-W}.
 
-@node MCNEMAR
+
+@node MCNEMAR, MEDIAN, MANN-WHITNEY, NPAR TESTS
 @subsection McNemar Test
 @vindex MCNEMAR
 @cindex McNemar test
@@ -1626,7 +2135,7 @@ The data in each variable must be dichotomous.  If there are more
 than two distinct variables an error will occur and the test will
 not be run.
 
-@node MEDIAN
+@node MEDIAN, RUNS, MCNEMAR, NPAR TESTS
 @subsection Median Test
 @vindex MEDIAN
 @cindex Median test
@@ -1639,7 +2148,7 @@ The median test is used to test whether independent samples come from
 populations with a common median.
 The median of the populations against which the samples are to be tested
 may be given in parentheses immediately after the
-@subcmd{/MEDIAN} subcommand.  If it is not given, the median will be imputed from the
+@subcmd{/MEDIAN} subcommand.  If it is not given, the median is imputed from the
 union of all the samples.
 
 The variables of the samples to be tested should immediately follow the @samp{=} sign. The
@@ -1651,7 +2160,7 @@ conducted and the group values used are all values encountered which lie in the
 range [@var{value1},@var{value2}].
 
 
-@node RUNS
+@node RUNS, SIGN, MEDIAN, NPAR TESTS
 @subsection Runs Test
 @vindex RUNS
 @cindex runs test
@@ -1671,7 +2180,7 @@ tested.
 The subcommand shows the number of runs, the asymptotic significance based on the
 length of the data.
 
-@node SIGN
+@node SIGN, WILCOXON, RUNS, NPAR TESTS
 @subsection Sign Test
 @vindex SIGN
 @cindex sign test
@@ -1697,7 +2206,7 @@ If the @code{WITH} keyword is given, but the
 of variable preceding @code{WITH} against variable following
 @code{WITH} are performed.
 
-@node WILCOXON
+@node WILCOXON,  , SIGN, NPAR TESTS
 @subsection Wilcoxon Matched Pairs Signed Ranks Test
 @vindex WILCOXON
 @cindex wilcoxon matched pairs signed ranks test
@@ -1723,7 +2232,7 @@ If the @subcmd{WITH} keyword is given, but the
 of variable preceding @subcmd{WITH} against variable following
 @subcmd{WITH} are performed.
 
-@node T-TEST
+@node T-TEST, ONEWAY, NPAR TESTS, Statistics
 @section T-TEST
 
 @vindex T-TEST
@@ -1788,7 +2297,7 @@ which they would be needed. This is the default.
 * Paired Samples Mode::         Testing two interdependent groups for equal mean
 @end menu
 
-@node One Sample Mode
+@node One Sample Mode, Independent Samples Mode, T-TEST, T-TEST
 @subsection One Sample Mode
 
 The @subcmd{TESTVAL} subcommand invokes the One Sample mode.
@@ -1821,6 +2330,12 @@ using the @cmd{SELECT} command.
 @caption {Running a one sample T-Test after excluding all non-positive values}
 @end float
 
+@float Screenshot, one-sample-t:scr
+@psppimage {one-sample-t}
+@caption {Using the One Sample T-Test dialog box to test @exvar{weight} for a mean of 76.8kg}
+@end float
+
+
 @ref{one-sample-t:res} shows that the mean of our sample differs from the test value
 by -1.40kg.  However the significance is very high (0.610).  So one cannot
 reject the null hypothesis, and must conclude there is not enough evidence
@@ -1832,7 +2347,7 @@ from 76.8kg.
 @caption {The results of a one sample T-test of @exvar{weight} using a test value of 76.8kg}
 @end float
 
-@node Independent Samples Mode
+@node Independent Samples Mode, Paired Samples Mode, One Sample Mode, T-TEST
 @subsection Independent Samples Mode
 
 The @subcmd{GROUPS} subcommand invokes Independent Samples mode or
@@ -1880,13 +2395,28 @@ using the @cmd{SELECT} command.
 The null hypothesis is that both males and females are on average
 of equal height.
 
+@float Screenshot, independent-samples-t:scr
+@psppimage {independent-samples-t}
+@caption {Using the Independent Sample T-test dialog, to test for differences of @exvar{height} between values of @exvar{sex}}
+@end float
+
+
 In this case, the grouping variable is @exvar{sex}, so this is entered
 as the variable for the @subcmd{GROUP} subcommand.  The group values are  0 (male) and
 1 (female).
 
 If you are running the proceedure using syntax, then you need to enter
 the values corresponding to each group within parentheses.
-
+If you are using the graphic user interface, then you have to open
+the ``Define Groups'' dialog box and enter the values corresponding
+to each group as shown in @ref{define-groups-t:scr}.  If, as in this case, the dataset has defined value
+labels for the group variable, then you can enter them by label
+or by value.
+
+@float Screenshot, define-groups-t:scr
+@psppimage {define-groups-t}
+@caption {Setting the values of the grouping variable for an Independent Samples T-test}
+@end float
 
 From @ref{independent-samples-t:res}, one can clearly see that the @emph{sample} mean height
 is greater for males than for females.  However in order to see if this
@@ -1905,7 +2435,7 @@ the population the mean height of males and of females are unequal.
 @caption {The results of an independent samples T-test of @exvar{height} by @exvar{sex}}
 @end float
 
-@node Paired Samples Mode
+@node Paired Samples Mode,  , Independent Samples Mode, T-TEST
 @subsection Paired Samples Mode
 
 The @cmd{PAIRS} subcommand introduces Paired Samples mode.
@@ -1925,7 +2455,7 @@ of variable preceding @subcmd{WITH} against variable following
 @subcmd{WITH} are generated.
 
 
-@node ONEWAY
+@node ONEWAY, QUICK CLUSTER, T-TEST, Statistics
 @section ONEWAY
 
 @vindex ONEWAY
@@ -1974,8 +2504,8 @@ The @subcmd{CONTRAST} subcommand may be given up to 10 times in order
 to specify different contrast tests.
 The @subcmd{MISSING} subcommand defines how missing values are handled.
 If @subcmd{LISTWISE} is specified then cases which have missing values for
-the independent variable or any dependent variable will be ignored.
-If @subcmd{ANALYSIS} is specified, then cases will be ignored if the independent
+the independent variable or any dependent variable are ignored.
+If @subcmd{ANALYSIS} is specified, then cases are ignored if the independent
 variable is missing or if the dependent variable currently being
 analysed is missing.  The default is @subcmd{ANALYSIS}.
 A setting of @subcmd{EXCLUDE} means that variables whose values are
@@ -2001,12 +2531,12 @@ The Games-Howell test.
 @end itemize
 
 @noindent
-The optional syntax @code{ALPHA(@var{value})} is used to indicate
-that @var{value} should be used as the
-confidence level for which the posthoc tests will be performed.
-The default is 0.05.
+Use the optional syntax @code{ALPHA(@var{value})} to indicate that
+@cmd{ONEWAY} should perform the posthoc tests at a confidence level of
+@var{value}.  If @code{ALPHA(@var{value})} is not specified, then the
+confidence level used is 0.05.
 
-@node QUICK CLUSTER
+@node QUICK CLUSTER, RANK, ONEWAY, Statistics
 @section QUICK CLUSTER
 @vindex QUICK CLUSTER
 
@@ -2069,7 +2599,7 @@ The @subcmd{PRINT} subcommand requests additional output to be printed.
 If @subcmd{INITIAL} is set, then the initial cluster memberships will
 be printed.
 If @subcmd{CLUSTER} is set, the cluster memberships of the individual
-cases will be displayed (potentially generating lengthy output).
+cases are displayed (potentially generating lengthy output).
 
 You can specify the subcommand @subcmd{SAVE} to ask that each case's cluster membership
 and the euclidean distance between the case and its cluster center be saved to
@@ -2079,7 +2609,7 @@ Each keyword may optionally be followed by a variable name in parentheses to spe
 the new variable which is to contain the saved parameter.  If no variable name is specified,
 then PSPP will create one.
 
-@node RANK
+@node RANK, RELIABILITY, QUICK CLUSTER, Statistics
 @section RANK
 
 @vindex RANK
@@ -2143,7 +2673,7 @@ user-missing are to be excluded from the rank scores. A setting of
 @include regression.texi
 
 
-@node RELIABILITY
+@node RELIABILITY, ROC, RANK, Statistics
 @section RELIABILITY
 
 @vindex RELIABILITY
@@ -2162,9 +2692,9 @@ The @cmd{RELIABILITY} command performs reliability analysis on the data.
 The @subcmd{VARIABLES} subcommand is required. It determines the set of variables
 upon which analysis is to be performed.
 
-The @subcmd{SCALE} subcommand determines which variables reliability is to be
-calculated for.  If it is omitted, then analysis for all variables named
-in the @subcmd{VARIABLES} subcommand will be used.
+The @subcmd{SCALE} subcommand determines the  variables for which
+reliability is to be calculated.  If @subcmd{SCALE} is omitted, then analysis for
+all variables named in the @subcmd{VARIABLES} subcommand are used.
 Optionally, the @var{name} parameter may be specified to set a string name
 for the scale.
 
@@ -2177,10 +2707,9 @@ scale, or one half minus one if there are an odd number of variables.
 The default model is @subcmd{ALPHA}.
 
 By default, any cases with user missing, or system missing values for
-any variables given
-in the @subcmd{VARIABLES} subcommand will be omitted from analysis.
-The @subcmd{MISSING} subcommand determines whether user missing values are to
-be included or excluded in the analysis.
+any variables given in the @subcmd{VARIABLES} subcommand are omitted
+from the analysis.  The @subcmd{MISSING} subcommand determines whether
+user missing values are included or excluded in the analysis.
 
 The @subcmd{SUMMARY} subcommand determines the type of summary analysis to be performed.
 Currently there is only one type: @subcmd{SUMMARY=TOTAL}, which displays per-item
@@ -2209,6 +2738,11 @@ to use @cmd{COMPUTE} (@pxref{COMPUTE}) and this is what is done in @ref{reliabil
 In this case, all variables in the data set are used.  So we can use the special
 keyword @samp{ALL} (@pxref{BNF}).
 
+@float Screenshot, reliability:src
+@psppimage {reliability}
+@caption {Reliability dialog box with all variables selected}
+@end float
+
 @ref{reliability:res} shows that Cronbach's Alpha is 0.11  which is a value normally considered too
 low to indicate consistency within the data.  This is possibly due to the small number of
 survey questions.  The survey should be redesigned before serious use of the results are
@@ -2220,7 +2754,7 @@ applied.
 @end float
 
 
-@node ROC
+@node ROC,  , RELIABILITY, Statistics
 @section ROC
 
 @vindex ROC
@@ -2253,13 +2787,13 @@ which should be enclosed in parentheses, says that the diagonal reference line s
 If the keyword @subcmd{NONE} is given, then no @subcmd{ROC} curve is drawn.
 By default, the curve is drawn with no reference line.
 
-The optional subcommand @subcmd{PRINT} determines which additional tables should be printed.
-Two additional tables are available.
-The @subcmd{SE} keyword says that standard error of the area under the curve should be printed as well as
-the area itself.
-In addition, a p-value under the null hypothesis that the area under the curve equals 0.5 will be
-printed.
-The @subcmd{COORDINATES} keyword says that a table of coordinates of the @subcmd{ROC} curve should be printed.
+The optional subcommand @subcmd{PRINT} determines which additional
+tables should be printed.  Two additional tables are available.  The
+@subcmd{SE} keyword says that standard error of the area under the
+curve should be printed as well as the area itself.  In addition, a
+p-value for the null hypothesis that the area under the curve equals
+0.5 is printed.   The @subcmd{COORDINATES} keyword says that a
+table of coordinates of the @subcmd{ROC} curve should be printed.
 
 The @subcmd{CRITERIA} subcommand has four optional parameters:
 @itemize @bullet
@@ -2286,7 +2820,7 @@ The @subcmd{MISSING} subcommand determines whether user missing values are to
 be included or excluded in the analysis.  The default behaviour is to
 exclude them.
 Cases are excluded on a listwise basis; if any of the variables in @var{var_list}
-or if the variable @var{state_var} is missing, then the entire case will be
+or if the variable @var{state_var} is missing, then the entire case is
 excluded.
 
 @c  LocalWords:  subcmd subcommand