work on docs
[pspp] / doc / statistics.texi
index 6957b3836eae3a2c07f8bad2f64d30d781db1249..d16de5d52e983248731fb953cf019bc86de25ad1 100644 (file)
@@ -513,9 +513,9 @@ The @cmd{GRAPH} command produces graphical plots of data. Only one of the subcom
 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
@@ -999,6 +999,7 @@ this data set, with a slightly modified dictionary, as
 
 @menu
 * CTABLES Basics::
+* CTABLES Data Summarization::
 @end menu
 
 @node CTABLES Basics
@@ -1012,11 +1013,23 @@ variables to include along each axis:
 @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.  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:
+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
+@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.
@@ -1033,7 +1046,8 @@ CTABLES /TABLE=AgeGroup BY qns3a.
 @psppoutput {ctables2}
 
 @noindent
-The @samp{>} operator nests multiple variables on a single axis, e.g.:
+The @samp{>} ``nesting'' operator nests multiple variables on a single
+axis, e.g.:
 
 @example
 CTABLES /TABLE qn105ba BY AgeGroup > qns3a.
@@ -1041,11 +1055,11 @@ CTABLES /TABLE qn105ba BY AgeGroup > qns3a.
 @psppoutput {ctables3}
 
 @noindent
-The @samp{+} operator allows a single output table to include multiple
-data analyses.  With @samp{+}, @code{CTABLES} divides the output table
-into multiple 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:
+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.
@@ -1062,6 +1076,299 @@ CTABLES /TABLE (qn26 + qn27) > qns3a.
 @end example
 @psppoutput {ctables5}
 
+@node CTABLES Scalar Variable 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
+@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
+@subsubheading Multiple Response Sets
+
+The @code{CTABLES} command does not yet support multiple response
+sets.
+
+@node CTABLES Data Summarization
+@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 provide 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 section lists the available summary functions.
+
+@menu
+* CTABLES Summary Functions for Categorical and Scale Variables::
+@end menu
+
+@node CTABLES Summary Functions
+@subsubsection Summary Functions
+
+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 summary functions may be applied to any variable
+regardless of whether it is categorical or scalar.  The default label
+for each function is listed in parentheses:
+
+@table @asis
+@item @code{COUNT} (``Count'')
+The sum of weights in a cell.
+
+@item @code{@i{area}PCT} or @code{@i{area}PCT.COUNT} (``@i{Area} %'')
+A percentage within the specified @var{area}.
+
+@item @code{@i{area}PCT.VALIDN} (``@i{Area} Valid N %'')
+A percentage of valid values within the specified @var{area}.
+
+@item @code{@i{area}PCT.TOTALN} (``@i{Area} Total N %'')
+A percentage of total values within the specified @var{area}.
+@end table
+
+The following summary functions 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 @code{@i{area}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 the same ones without the prefix, except that they use unweighted
+counts:
+
+@itemize @bullet
+@item
+@code{UCOUNT} (``Unweighted Count'')
+
+@item
+@code{U@i{area}PCT} or @code{U@i{area}PCT.COUNT} (``Unweighted @i{Area} %'')
+
+@item
+@code{U@i{area}PCT.VALIDN} (``Unweighted @i{Area} Valid N %'')
+
+@item
+@code{U@i{area}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}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
 @section FACTOR
 
@@ -1567,19 +1874,19 @@ 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