+@node FACTOR
+@section FACTOR
+
+@vindex FACTOR
+@cindex factor analysis
+@cindex principal components analysis
+@cindex principal axis factoring
+@cindex data reduction
+
+@display
+FACTOR VARIABLES=var_list
+
+ [ /METHOD = @{CORRELATION, COVARIANCE@} ]
+
+ [ /EXTRACTION=@{PC, PAF@}]
+
+ [ /ROTATION=@{VARIMAX, EQUAMAX, QUARTIMAX, NOROTATE@}]
+
+ [ /PRINT=[INITIAL] [EXTRACTION] [ROTATION] [UNIVARIATE] [CORRELATION] [COVARIANCE] [DET] [SIG] [ALL] [DEFAULT] ]
+
+ [ /PLOT=[EIGEN] ]
+
+ [ /FORMAT=[SORT] [BLANK(@var{n})] [DEFAULT] ]
+
+ [ /CRITERIA=[FACTORS(@var{n})] [MINEIGEN(@var{l})] [ITERATE(@var{m})] [ECONVERGE (@var{delta})] [DEFAULT] ]
+
+ [ /MISSING=[@{LISTWISE, PAIRWISE@}] [@{INCLUDE, EXCLUDE@}] ]
+@end display
+
+The FACTOR command performs Factor Analysis or Principal Axis Factoring on a dataset. It may be used to find
+common factors in the data or for data reduction purposes.
+
+The VARIABLES subcommand is required. It lists the variables which are to partake in the analysis.
+
+The /EXTRACTION subcommand is used to specify the way in which factors (components) are extracted from the data.
+If PC is specified, then Principal Components Analysis is used. If PAF is specified, then Principal Axis Factoring is
+used. By default Principal Components Analysis will be used.
+
+The /ROTATION subcommand is used to specify the method by which the extracted solution will be rotated.
+Three methods are available: VARIMAX (which is the default), EQUAMAX, and QUARTIMAX.
+If don't want any rotation to be performed, the word NOROTATE will prevent the command from performing any
+rotation on the data. Oblique rotations are not supported.
+
+The /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 /PRINT subcommand may be used to select which features of the analysis are reported:
+
+@itemize
+@item UNIVARIATE
+ A table of mean values, standard deviations and total weights are printed.
+@item INITIAL
+ Initial communalities and eigenvalues are printed.
+@item EXTRACTION
+ Extracted communalities and eigenvalues are printed.
+@item ROTATION
+ Rotated communalities and eigenvalues are printed.
+@item CORRELATION
+ The correlation matrix is printed.
+@item COVARIANCE
+ The covariance matrix is printed.
+@item DET
+ The determinant of the correlation or covariance matrix is printed.
+@item SIG
+ The significance of the elements of correlation matrix is printed.
+@item ALL
+ All of the above are printed.
+@item DEFAULT
+ Identical to INITIAL and EXTRACTION.
+@end itemize
+
+If /PLOT=EIGEN is given, then a ``Scree'' plot of the eigenvalues will be printed. This can be useful for visualising
+which factors (components) should be retained.
+
+The /FORMAT subcommand determined how data are to be displayed in loading matrices. If SORT is specified, then the variables
+are sorted in descending order of significance. If BLANK(@var{n}) is specified, then coefficients whose absolute value is less
+than @var{n} will not be printed. If the keyword DEFAULT is given, or if no /FORMAT subcommand is given, then no sorting is
+performed, and all coefficients will be printed.
+
+The /CRITERIA subcommand is used to specify how the number of extracted factors (components) are chosen. If FACTORS(@var{n}) is
+specified, where @var{n} is an integer, then @var{n} factors will be extracted. Otherwise, the MINEIGEN setting will
+be used. 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 ECONVERGE and ITERATE settings have effect only when iterative algorithms for factor
+extraction (such as Principal Axis Factoring) are used. 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 ITERATE(@var{m}) setting sets the maximum number of iterations to @var{m}. The default value of @var{m} is 25.
+
+The @cmd{MISSING} subcommand determines the handling of missing variables.
+If INCLUDE is set, then user-missing values are included in the
+calculations, but system-missing values are not.
+If EXCLUDE is set, which is the default, user-missing
+values are excluded as well as system-missing values.
+This is the default.
+If 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 PAIRWISE is set, then a case is considered missing only if either of the
+values for the particular coefficient are missing.
+The default is LISTWISE.
+
+
+@node NPAR TESTS
+@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 [(n)] ] ]
+@end display
+
+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 /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 /METHOD=EXACT is specified.
+Exact tests give more accurate results, but may take an unacceptably long
+time to perform. If the TIMER keyword is used, it sets a maximum time,
+after which the test will be abandoned, and a warning message printed.
+The time, in minutes, should be specified in parentheses after the TIMER keyword.
+If the TIMER keyword is given without this figure, then a default value of 5 minutes
+is used.
+
+
+@menu
+* BINOMIAL:: Binomial Test
+* CHISQUARE:: Chisquare Test
+* COCHRAN:: Cochran Q Test
+* FRIEDMAN:: Friedman Test
+* KENDALL:: Kendall's W Test
+* KRUSKAL-WALLIS:: Kruskal-Wallis Test
+* MANN-WHITNEY:: Mann Whitney U Test
+* RUNS:: Runs Test
+* SIGN:: The Sign Test
+* WILCOXON:: Wilcoxon Signed Ranks Test
+@end menu
+
+
+@node BINOMIAL
+@subsection Binomial test
+@vindex BINOMIAL
+@cindex binomial test
+
+@display
+ [ /BINOMIAL[(p)]=var_list[(value1[, value2)] ] ]
+@end display
+
+The /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 will be 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
+@subsection Chisquare Test
+@vindex CHISQUARE
+@cindex chisquare test
+
+
+@display
+ [ /CHISQUARE=var_list[(lo,hi)] [/EXPECTED=@{EQUAL|f1, f2 @dots{} fn@}] ]
+@end display
+
+
+The /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 /EXPECTED subcommand specifies the expected values of each
+category.
+There must be exactly one non-zero expected value, for each observed
+category, or the EQUAL keywork must be specified.
+You may use the notation @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 /EXPECTED subcommand is given, then then equal frequencies
+are expected.
+
+
+@node COCHRAN
+@subsection Cochran Q Test
+@vindex Cochran
+@cindex Cochran Q test
+@cindex Q, Cochran Q
+
+@display
+ [ /COCHRAN = varlist ]
+@end display
+
+The Cochran Q test is used to test for differences between three or more groups.
+The data for @var{varlist} 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.
+
+@node FRIEDMAN
+@subsection Friedman Test
+@vindex FRIEDMAN
+@cindex Friedman test
+
+@display
+ [ /FRIEDMAN = varlist ]
+@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
+@subsection Kendall's W Test
+@vindex KENDALL
+@cindex Kendall's W test
+@cindex coefficient of concordance
+
+@display
+ [ /KENDALL = varlist ]
+@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 KRUSKAL-WALLIS
+@subsection Kruskal-Wallis Test
+@vindex KRUSKAL-WALLIS
+@vindex K-W
+@cindex Kruskal-Wallis test
+
+@display
+ [ /KRUSKAL-WALLIS = varlist BY var (lower, 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{varlist}.
+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.
+
+The mean rank of each group as well as the chi-squared value and significance
+of the test will be printed.
+The abbreviated subcommand K-W may be used in place of KRUSKAL-WALLIS.
+
+
+@node MANN-WHITNEY
+@subsection Mann-Whitney U Test
+@vindex MANN-WHITNEY
+@vindex M-W
+@cindex Mann-Whitney U test
+@cindex U, Mann-Whitney U
+
+@display
+ [ /MANN-WHITNEY = varlist BY var (group1, 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{varlist} 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.
+
+The value of the Mann-Whitney U statistic, the Wilcoxon W, and the significance will be printed.
+The abbreviated subcommand M-W may be used in place of MANN-WHITNEY.
+
+
+@node RUNS
+@subsection Runs Test
+@vindex RUNS
+@cindex runs test
+
+@display
+ [ /RUNS (@{MEAN, MEDIAN, MODE, value@}) varlist ]
+@end display
+
+The /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 MEAN, MEDIAN or 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
+@subsection Sign Test
+@vindex SIGN
+@cindex sign test
+
+@display
+ [ /SIGN varlist [ WITH varlist [ (PAIRED) ]]]
+@end display
+
+The /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
+@subsection Wilcoxon Matched Pairs Signed Ranks Test
+@comment node-name, next, previous, up
+@vindex WILCOXON
+@cindex wilcoxon matched pairs signed ranks test
+
+@display
+ [ /WILCOXON varlist [ WITH varlist [ (PAIRED) ]]]
+@end display
+
+The /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 symetrical.
+
+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 T-TEST