+@itemize
+@item @subcmd{UNIVARIATE}
+ A table of mean values, standard deviations and total weights are printed.
+@item @subcmd{INITIAL}
+ Initial communalities and eigenvalues are printed.
+@item @subcmd{EXTRACTION}
+ Extracted communalities and eigenvalues are printed.
+@item @subcmd{ROTATION}
+ Rotated communalities and eigenvalues are printed.
+@item @subcmd{CORRELATION}
+ The correlation matrix is printed.
+@item @subcmd{COVARIANCE}
+ The covariance matrix is printed.
+@item @subcmd{DET}
+ The determinant of the correlation or covariance matrix is printed.
+@item @subcmd{AIC}
+ The anti-image covariance and anti-image correlation matrices are printed.
+@item @subcmd{KMO}
+ The Kaiser-Meyer-Olkin measure of sampling adequacy and the Bartlett test of sphericity is printed.
+@item @subcmd{SIG}
+ The significance of the elements of correlation matrix is printed.
+@item @subcmd{ALL}
+ All of the above are printed.
+@item @subcmd{DEFAULT}
+ Identical to @subcmd{INITIAL} and @subcmd{EXTRACTION}.
+@end itemize
+
+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} 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, 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.
+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.
+The default is @subcmd{LISTWISE}.
+
+@node GLM, LOGISTIC REGRESSION, FACTOR, Statistics
+@section GLM
+
+@vindex GLM
+@cindex univariate analysis of variance
+@cindex fixed effects
+@cindex factorial anova
+@cindex analysis of variance
+@cindex ANOVA
+
+
+@display
+GLM @var{dependent_vars} BY @var{fixed_factors}
+ [/METHOD = SSTYPE(@var{type})]
+ [/DESIGN = @var{interaction_0} [@var{interaction_1} [... @var{interaction_n}]]]
+ [/INTERCEPT = @{INCLUDE|EXCLUDE@}]
+ [/MISSING = @{INCLUDE|EXCLUDE@}]
+@end display
+
+The @cmd{GLM} procedure can be used for fixed effects factorial Anova.
+
+The @var{dependent_vars} are the variables to be analysed.
+You may analyse several variables in the same command in which case they should all
+appear before the @code{BY} keyword.
+
+The @var{fixed_factors} list must be one or more categorical variables. Normally it
+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
+squares. Available values of @var{type} are 1, 2 and 3. The default is type 3.
+
+You may specify a custom design using the @subcmd{DESIGN} subcommand.
+The design comprises a list of interactions where each interaction is a
+list of variables separated by a @samp{*}. For example the command
+@display
+GLM subject BY sex age_group race
+ /DESIGN = age_group sex group age_group*sex age_group*race
+@end display
+@noindent specifies the model @math{subject = age_group + sex + race + age_group*sex + age_group*race}.
+If no @subcmd{DESIGN} subcommand is specified, then the default is all possible combinations
+of the fixed factors. That is to say
+@display
+GLM subject BY sex age_group race
+@end display
+implies the model
+@math{subject = age_group + sex + race + age_group*sex + age_group*race + sex*race + age_group*sex*race}.
+
+
+The @subcmd{MISSING} subcommand determines the handling of missing
+variables.
+If @subcmd{INCLUDE} is set then, for the purposes of GLM analysis,
+only system-missing values are considered
+to be missing; user-missing values are not regarded as missing.
+If @subcmd{EXCLUDE} is set, which is the default, then user-missing
+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, MEANS, GLM, Statistics
+@section LOGISTIC REGRESSION
+
+@vindex LOGISTIC REGRESSION
+@cindex logistic regression
+@cindex bivariate logistic regression
+
+@display
+LOGISTIC REGRESSION [VARIABLES =] @var{dependent_var} WITH @var{predictors}
+
+ [/CATEGORICAL = @var{categorical_predictors}]
+
+ [@{/NOCONST | /ORIGIN | /NOORIGIN @}]
+
+ [/PRINT = [SUMMARY] [DEFAULT] [CI(@var{confidence})] [ALL]]
+
+ [/CRITERIA = [BCON(@var{min_delta})] [ITERATE(@var{max_interations})]
+ [LCON(@var{min_likelihood_delta})] [EPS(@var{min_epsilon})]
+ [CUT(@var{cut_point})]]
+
+ [/MISSING = @{INCLUDE|EXCLUDE@}]
+@end display
+
+Bivariate Logistic Regression is used when you want to explain a dichotomous dependent
+variable in terms of one or more predictor variables.
+
+The minimum command is
+@example
+LOGISTIC REGRESSION @var{y} WITH @var{x1} @var{x2} @dots{} @var{xn}.
+@end example
+Here, @var{y} is the dependent variable, which must be dichotomous and @var{x1} @dots{} @var{xn}
+are the predictor variables whose coefficients the procedure estimates.
+
+By default, a constant term is included in the model.
+Hence, the full model is
+@math{
+{\bf y}
+= b_0 + b_1 {\bf x_1}
++ b_2 {\bf x_2}
++ \dots
++ b_n {\bf x_n}
+}
+
+Predictor variables which are categorical in nature should be listed on the @subcmd{/CATEGORICAL} subcommand.
+Simple variables as well as interactions between variables may be listed here.
+
+If you want a model without the constant term @math{b_0}, use the keyword @subcmd{/ORIGIN}.
+@subcmd{/NOCONST} is a synonym for @subcmd{/ORIGIN}.
+
+An iterative Newton-Raphson procedure is used to fit the model.
+The @subcmd{/CRITERIA} subcommand is used to specify the stopping criteria of the procedure,
+and other parameters.
+The value of @var{cut_point} is used in the classification table. It is the
+threshold above which predicted values are considered to be 1. Values
+of @var{cut_point} must lie in the range [0,1].
+During iterations, if any one of the stopping criteria are satisfied, the procedure is
+considered complete.
+The stopping criteria are:
+@itemize
+@item The number of iterations exceeds @var{max_iterations}.
+ The default value of @var{max_iterations} is 20.
+@item The change in the all coefficient estimates are less than @var{min_delta}.
+The default value of @var{min_delta} is 0.001.
+@item The magnitude of change in the likelihood estimate is less than @var{min_likelihood_delta}.
+The default value of @var{min_delta} is zero.
+This means that this criterion is disabled.
+@item The differential of the estimated probability for all cases is less than @var{min_epsilon}.
+In other words, the probabilities are close to zero or one.
+The default value of @var{min_epsilon} is 0.00000001.
+@end itemize
+
+
+The @subcmd{PRINT} subcommand controls the display of optional statistics.
+Currently there is one such option, @subcmd{CI}, which indicates that the
+confidence interval of the odds ratio should be displayed as well as its value.
+@subcmd{CI} should be followed by an integer in parentheses, to indicate the
+confidence level of the desired confidence interval.
+
+The @subcmd{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.
+
+@node MEANS, NPAR TESTS, LOGISTIC REGRESSION, Statistics
+@section MEANS
+
+@vindex MEANS
+@cindex means
+
+@display
+MEANS [TABLES =]
+ @{@var{var_list}@}
+ [ BY @{@var{var_list}@} [BY @{@var{var_list}@} [BY @{@var{var_list}@} @dots{} ]]]
+
+ [ /@{@var{var_list}@}
+ [ BY @{@var{var_list}@} [BY @{@var{var_list}@} [BY @{@var{var_list}@} @dots{} ]]] ]
+
+ [/CELLS = [MEAN] [COUNT] [STDDEV] [SEMEAN] [SUM] [MIN] [MAX] [RANGE]
+ [VARIANCE] [KURT] [SEKURT]
+ [SKEW] [SESKEW] [FIRST] [LAST]
+ [HARMONIC] [GEOMETRIC]
+ [DEFAULT]
+ [ALL]
+ [NONE] ]
+
+ [/MISSING = [INCLUDE] [DEPENDENT]]
+@end display
+
+You can use the @cmd{MEANS} command to calculate the arithmetic mean and similar
+statistics, either for the dataset as a whole or for categories of data.
+
+The simplest form of the command is
+@example
+MEANS @var{v}.
+@end example
+@noindent which calculates the mean, count and standard deviation for @var{v}.
+If you specify a grouping variable, for example
+@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} are calculated.
+Instead of the mean, count and standard deviation, you could specify the statistics
+in which you are interested:
+@example
+MEANS @var{x} @var{y} BY @var{g}
+ /CELLS = HARMONIC SUM MIN.
+@end example
+This example calculates the harmonic mean, the sum and the minimum values of @var{x} and @var{y}
+grouped by @var{g}.
+
+The @subcmd{CELLS} subcommand specifies which statistics to calculate. The available statistics
+are:
+@itemize
+@item @subcmd{MEAN}
+@cindex arithmetic mean
+ The arithmetic mean.
+@item @subcmd{COUNT}
+ The count of the values.
+@item @subcmd{STDDEV}
+ The standard deviation.
+@item @subcmd{SEMEAN}
+ The standard error of the mean.
+@item @subcmd{SUM}
+ The sum of the values.
+@item @subcmd{MIN}
+ The minimum value.
+@item @subcmd{MAX}
+ The maximum value.
+@item @subcmd{RANGE}
+ The difference between the maximum and minimum values.
+@item @subcmd{VARIANCE}
+ The variance.
+@item @subcmd{FIRST}
+ The first value in the category.
+@item @subcmd{LAST}
+ The last value in the category.
+@item @subcmd{SKEW}
+ The skewness.
+@item @subcmd{SESKEW}
+ The standard error of the skewness.
+@item @subcmd{KURT}
+ The kurtosis
+@item @subcmd{SEKURT}
+ The standard error of the kurtosis.
+@item @subcmd{HARMONIC}
+@cindex harmonic mean
+ The harmonic mean.
+@item @subcmd{GEOMETRIC}
+@cindex geometric mean
+ The geometric mean.
+@end itemize
+
+In addition, three special keywords are recognized:
+@itemize
+@item @subcmd{DEFAULT}
+ This is the same as @subcmd{MEAN} @subcmd{COUNT} @subcmd{STDDEV}.
+@item @subcmd{ALL}
+ All of the above statistics are calculated.
+@item @subcmd{NONE}
+ No statistics are calculated (only a summary is shown).
+@end itemize
+
+
+More than one @dfn{table} can be specified in a single command.
+Each table is separated by a @samp{/}. For
+example
+@example
+MEANS TABLES =
+ @var{c} @var{d} @var{e} BY @var{x}
+ /@var{a} @var{b} BY @var{x} @var{y}
+ /@var{f} BY @var{y} BY @var{z}.
+@end example
+has three tables (the @samp{TABLE =} is optional).
+The first table has three dependent variables @var{c}, @var{d} and @var{e}
+and a single categorical variable @var{x}.
+The second table has two dependent variables @var{a} and @var{b},
+and two categorical variables @var{x} and @var{y}.
+The third table has a single dependent variables @var{f}
+and a categorical variable formed by the combination of @var{y} and @var{z}.
+
+
+By default values are omitted from the analysis only if missing values
+(either system missing or user missing)
+for any of the variables directly involved in their calculation are
+encountered.
+This behaviour can be modified with the @subcmd{/MISSING} subcommand.
+Three options are possible: @subcmd{TABLE}, @subcmd{INCLUDE} and @subcmd{DEPENDENT}.
+
+@subcmd{/MISSING = INCLUDE} says that user missing values, either in the dependent
+variables or in the categorical variables should be taken at their face
+value, and not excluded.
+
+@subcmd{/MISSING = DEPENDENT} says that user missing values, in the dependent
+variables should be taken at their face value, however cases which
+have user missing values for the categorical variables should be omitted
+from the calculation.
+
+@subsection Example Means
+
+The dataset in @file{repairs.sav} contains the mean time between failures (@exvar{mtbf})
+for a sample of artifacts produced by different factories and trialed under
+different operating conditions.
+Since there are four combinations of categorical variables, by simply looking
+at the list of data, it would be hard to how the scores vary for each category.
+@ref{means:ex} shows one way of tabulating the @exvar{mtbf} in a way which is
+easier to understand.
+
+@float Example, means:ex
+@psppsyntax {means.sps}
+@caption {Running @cmd{MEANS} on the @exvar{mtbf} score with categories @exvar{factory} and @exvar{environment}}
+@end float
+
+The results are shown in @ref{means:res}. The figures shown indicate the mean,
+standard deviation and number of samples in each category.
+These figures however do not indicate whether the results are statistically
+significant. For that, you would need to use the procedures @cmd{ONEWAY}, @cmd{GLM} or
+@cmd{T-TEST} depending on the hypothesis being tested.
+
+@float Result, means:res
+@psppoutput {means}
+@caption {The @exvar{mtbf} categorised by @exvar{factory} and @exvar{environment}}
+@end float
+
+Note that there is no limit to the number of variables for which you can calculate
+statistics, nor to the number of categorical variables per layer, nor the number
+of layers.
+However, running @cmd{MEANS} on a large numbers of variables, or with categorical variables
+containing a large number of distinct values may result in an extremely large output, which
+will not be easy to interpret.
+So you should consider carefully which variables to select for participation in the analysis.
+
+@node NPAR TESTS, T-TEST, MEANS, Statistics
+@section NPAR TESTS
+
+@vindex NPAR TESTS
+@cindex nonparametric tests
+
+@display
+NPAR TESTS
+
+ nonparametric test subcommands
+ .
+ .
+ .
+
+ [ /STATISTICS=@{DESCRIPTIVES@} ]
+
+ [ /MISSING=@{ANALYSIS, LISTWISE@} @{INCLUDE, EXCLUDE@} ]
+
+ [ /METHOD=EXACT [ TIMER [(@var{n})] ] ]
+@end display
+
+@cmd{NPAR TESTS} performs nonparametric tests.
+Non parametric tests make very few assumptions about the distribution of the
+data.
+One or more tests may be specified by using the corresponding subcommand.
+If the @subcmd{/STATISTICS} subcommand is also specified, then summary statistics are
+produces for each variable that is the subject of any test.
+
+Certain tests may take a long time to execute, if an exact figure is required.
+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 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
+@end menu
+
+
+@node BINOMIAL, CHISQUARE, NPAR TESTS, NPAR TESTS
+@subsection Binomial test
+@vindex BINOMIAL
+@cindex binomial test
+
+@display
+ [ /BINOMIAL[(@var{p})]=@var{var_list}[(@var{value1}[, @var{value2})] ] ]
+@end display
+
+The @subcmd{/BINOMIAL} subcommand compares the observed distribution of a dichotomous
+variable with that of a binomial distribution.
+The variable @var{p} specifies the test proportion of the binomial
+distribution.
+The default value of 0.5 is assumed if @var{p} is omitted.
+
+If a single value appears after the variable list, then that value is
+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 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
+values, take no part in the test for that variable.
+
+If no values appear, then the variable must assume dichotomous
+values.
+If more than two distinct, non-missing values for a variable
+under test are encountered then an error occurs.
+
+If the test proportion is equal to 0.5, then a two tailed test is
+reported. For any other test proportion, a one tailed test is
+reported.
+For one tailed tests, if the test proportion is less than
+or equal to the observed proportion, then the significance of
+observing the observed proportion or more is reported.
+If the test proportion is more than the observed proportion, then the
+significance of observing the observed proportion or less is reported.
+That is to say, the test is always performed in the observed
+direction.
+
+@pspp{} uses a very precise approximation to the gamma function to
+compute the binomial significance. Thus, exact results are reported
+even for very large sample sizes.
+
+
+@node CHISQUARE, COCHRAN, BINOMIAL, NPAR TESTS
+@subsection Chi-square Test
+@vindex CHISQUARE
+@cindex chi-square test
+
+
+@display
+ [ /CHISQUARE=@var{var_list}[(@var{lo},@var{hi})] [/EXPECTED=@{EQUAL|@var{f1}, @var{f2} @dots{} @var{fn}@}] ]
+@end display
+
+
+The @subcmd{/CHISQUARE} subcommand produces a chi-square statistic for the differences
+between the expected and observed frequencies of the categories of a variable.
+Optionally, a range of values may appear after the variable list.
+If a range is given, then non integer values are truncated, and values
+outside the specified range are excluded from the analysis.
+
+The @subcmd{/EXPECTED} subcommand specifies the expected values of each
+category.
+There must be exactly one non-zero expected value, for each observed
+category, or the @subcmd{EQUAL} keyword must be specified.
+You may use the notation @subcmd{@var{n}*@var{f}} to specify @var{n}
+consecutive expected categories all taking a frequency of @var{f}.
+The frequencies given are proportions, not absolute frequencies. The
+sum of the frequencies need not be 1.
+If no @subcmd{/EXPECTED} subcommand is given, then equal frequencies
+are expected.
+
+@subsubsection Chi-square Example
+
+A researcher wishes to investigate whether there are an equal number of
+persons of each sex in a population. The sample chosen for invesigation
+is that from the @file {physiology.sav} dataset. The null hypothesis for
+the test is that the population comprises an equal number of males and females.
+The analysis is performed as shown in @ref{chisquare:ex}.
+
+@float Example, chisquare:ex
+@psppsyntax {chisquare.sps}
+@caption {Performing a chi-square test to check for equal distribution of sexes}
+@end float
+
+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
+there is not enough evidence to reject the null hypothesis and one must conclude
+that the evidence does not indicate that there is an imbalance of the sexes
+in the population.
+
+@float Result, chisquare:res
+@psppoutput {chisquare}
+@caption {The results of running a chi-square test on @exvar{sex}}
+@end float
+
+
+@node COCHRAN, FRIEDMAN, CHISQUARE, NPAR TESTS
+@subsection Cochran Q Test
+@vindex Cochran
+@cindex Cochran Q test
+@cindex Q, Cochran Q
+
+@display
+ [ /COCHRAN = @var{var_list} ]
+@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 value of Q is displayed along with its Asymptotic significance
+based on a chi-square distribution.
+
+@node FRIEDMAN, KENDALL, COCHRAN, NPAR TESTS
+@subsection Friedman Test
+@vindex FRIEDMAN
+@cindex Friedman test
+
+@display
+ [ /FRIEDMAN = @var{var_list} ]
+@end display
+
+The Friedman test is used to test for differences between repeated measures when
+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, KOLMOGOROV-SMIRNOV, FRIEDMAN, NPAR TESTS
+@subsection Kendall's W Test
+@vindex KENDALL
+@cindex Kendall's W test
+@cindex coefficient of concordance
+
+@display
+ [ /KENDALL = @var{var_list} ]
+@end display
+
+The Kendall test investigates whether an arbitrary number of related samples come from the
+same population.
+It is identical to the Friedman test except that the additional statistic W, Kendall's Coefficient of Concordance is printed.
+It has the range [0,1] --- a value of zero indicates no agreement between the samples whereas a value of
+unity indicates complete agreement.
+
+
+@node KOLMOGOROV-SMIRNOV, KRUSKAL-WALLIS, KENDALL, NPAR TESTS
+@subsection Kolmogorov-Smirnov Test
+@vindex KOLMOGOROV-SMIRNOV
+@vindex K-S
+@cindex Kolmogorov-Smirnov test
+
+@display
+ [ /KOLMOGOROV-SMIRNOV (@{NORMAL [@var{mu}, @var{sigma}], UNIFORM [@var{min}, @var{max}], POISSON [@var{lambda}], EXPONENTIAL [@var{scale}] @}) = @var{var_list} ]
+@end display
+
+The one sample Kolmogorov-Smirnov subcommand is used to test whether or not a dataset is
+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 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}.
+@end example
+If the variables need to be tested against different distributions, then a separate
+subcommand must be used. For example the following syntax tests @var{score} against
+a normal distribution with mean of 3.5 and standard deviation of 2.0 whilst @var{age}
+is tested against a normal distribution of mean 40 and standard deviation 1.5.
+@example
+ NPAR TESTS
+ /KOLMOGOROV-SMIRNOV (normal 3.5 2.0) = @var{score}
+ /KOLMOGOROV-SMIRNOV (normal 40 1.5) = @var{age}.
+@end example
+
+The abbreviated subcommand @subcmd{K-S} may be used in place of @subcmd{KOLMOGOROV-SMIRNOV}.
+
+@node KRUSKAL-WALLIS, MANN-WHITNEY, KOLMOGOROV-SMIRNOV, NPAR TESTS
+@subsection Kruskal-Wallis Test
+@vindex KRUSKAL-WALLIS
+@vindex K-W
+@cindex Kruskal-Wallis test
+
+@display
+ [ /KRUSKAL-WALLIS = @var{var_list} BY var (@var{lower}, @var{upper}) ]
+@end display
+
+The Kruskal-Wallis test is used to compare data from an
+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}.
+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 are printed.
+The abbreviated subcommand @subcmd{K-W} may be used in place of
+@subcmd{KRUSKAL-WALLIS}.
+
+
+@node MANN-WHITNEY, MCNEMAR, KRUSKAL-WALLIS, NPAR TESTS
+@subsection Mann-Whitney U Test
+@vindex MANN-WHITNEY
+@vindex M-W
+@cindex Mann-Whitney U test
+@cindex U, Mann-Whitney U
+
+@display
+ [ /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}.
+@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} are ignored.
+
+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, MEDIAN, MANN-WHITNEY, NPAR TESTS
+@subsection McNemar Test
+@vindex MCNEMAR
+@cindex McNemar test
+
+@display
+ [ /MCNEMAR @var{var_list} [ WITH @var{var_list} [ (PAIRED) ]]]
+@end display
+
+Use McNemar's test to analyse the significance of the difference between
+pairs of correlated proportions.
+
+If the @code{WITH} keyword is omitted, then tests for all
+combinations of the listed variables are performed.
+If the @code{WITH} keyword is given, and the @code{(PAIRED)} keyword
+is also given, then the number of variables preceding @code{WITH}
+must be the same as the number following it.
+In this case, tests for each respective pair of variables are
+performed.
+If the @code{WITH} keyword is given, but the
+@code{(PAIRED)} keyword is omitted, then tests for each combination
+of variable preceding @code{WITH} against variable following
+@code{WITH} are performed.
+
+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, RUNS, MCNEMAR, NPAR TESTS
+@subsection Median Test
+@vindex MEDIAN
+@cindex Median test
+
+@display
+ [ /MEDIAN [(@var{value})] = @var{var_list} BY @var{variable} (@var{value1}, @var{value2}) ]
+@end display
+
+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 is imputed from the
+union of all the samples.
+
+The variables of the samples to be tested should immediately follow the @samp{=} sign. The
+keyword @code{BY} must come next, and then the grouping variable. Two values
+in parentheses should follow. If the first value is greater than the second,
+then a 2 sample test is performed using these two values to determine the groups.
+If however, the first variable is less than the second, then a @i{k} sample test is
+conducted and the group values used are all values encountered which lie in the
+range [@var{value1},@var{value2}].
+
+
+@node RUNS, SIGN, MEDIAN, NPAR TESTS
+@subsection Runs Test
+@vindex RUNS
+@cindex runs test
+
+@display
+ [ /RUNS (@{MEAN, MEDIAN, MODE, @var{value}@}) = @var{var_list} ]
+@end display
+
+The @subcmd{/RUNS} subcommand tests whether a data sequence is randomly ordered.
+
+It works by examining the number of times a variable's value crosses a given threshold.
+The desired threshold must be specified within parentheses.
+It may either be specified as a number or as one of @subcmd{MEAN}, @subcmd{MEDIAN} or @subcmd{MODE}.
+Following the threshold specification comes the list of variables whose values are to be
+tested.
+
+The subcommand shows the number of runs, the asymptotic significance based on the
+length of the data.
+
+@node SIGN, WILCOXON, RUNS, NPAR TESTS
+@subsection Sign Test
+@vindex SIGN
+@cindex sign test
+
+@display
+ [ /SIGN @var{var_list} [ WITH @var{var_list} [ (PAIRED) ]]]
+@end display
+
+The @subcmd{/SIGN} subcommand tests for differences between medians of the
+variables listed.
+The test does not make any assumptions about the
+distribution of the data.
+
+If the @code{WITH} keyword is omitted, then tests for all
+combinations of the listed variables are performed.
+If the @code{WITH} keyword is given, and the @code{(PAIRED)} keyword
+is also given, then the number of variables preceding @code{WITH}
+must be the same as the number following it.
+In this case, tests for each respective pair of variables are
+performed.
+If the @code{WITH} keyword is given, but the
+@code{(PAIRED)} keyword is omitted, then tests for each combination
+of variable preceding @code{WITH} against variable following
+@code{WITH} are performed.
+
+@node WILCOXON, , SIGN, NPAR TESTS
+@subsection Wilcoxon Matched Pairs Signed Ranks Test
+@vindex WILCOXON
+@cindex wilcoxon matched pairs signed ranks test
+
+@display
+ [ /WILCOXON @var{var_list} [ WITH @var{var_list} [ (PAIRED) ]]]
+@end display
+
+The @subcmd{/WILCOXON} subcommand tests for differences between medians of the
+variables listed.
+The test does not make any assumptions about the variances of the samples.
+It does however assume that the distribution is symmetrical.
+
+If the @subcmd{WITH} keyword is omitted, then tests for all
+combinations of the listed variables are performed.
+If the @subcmd{WITH} keyword is given, and the @subcmd{(PAIRED)} keyword
+is also given, then the number of variables preceding @subcmd{WITH}
+must be the same as the number following it.
+In this case, tests for each respective pair of variables are
+performed.
+If the @subcmd{WITH} keyword is given, but the
+@subcmd{(PAIRED)} keyword is omitted, then tests for each combination
+of variable preceding @subcmd{WITH} against variable following
+@subcmd{WITH} are performed.
+
+@node T-TEST, ONEWAY, NPAR TESTS, Statistics