documentation
[pspp] / doc / statistics.texi
index 44db27aad129f0585f8027c1ad88df8a2e5a319d..2e4c96c6a17a566d502eca34fe3a9a2601f33c7b 100644 (file)
@@ -1014,12 +1014,6 @@ 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.
 
 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::
-@end menu
-
 @node CTABLES Categorical Variable Basics
 @subsubsection Categorical Variables
 
 @node CTABLES Categorical Variable Basics
 @subsubsection Categorical Variables
 
@@ -1127,7 +1121,7 @@ When @pspp{} reads data from a file in an external format, such as a
 text file, variables' measurement levels are often unknown.  If
 @code{CTABLES} runs when a variable has an unknown measurement level,
 it makes an initial pass through the data to guess measurement levels
 text file, variables' measurement levels are often unknown.  If
 @code{CTABLES} runs when a variable has an unknown measurement level,
 it makes an initial pass through the data to guess measurement levels
-using the rules described earlier in this manual (@pxref{Measurement
+using the rules described in an earlier section (@pxref{Measurement
 Level}).  Use the @code{VARIABLE LEVEL} command to set or change a
 variable's measurement level (@pxref{VARIABLE LEVEL}).
 
 Level}).  Use the @code{VARIABLE LEVEL} command to set or change a
 variable's measurement level (@pxref{VARIABLE LEVEL}).
 
@@ -1186,7 +1180,30 @@ CTABLES /TABLE=AgeGroup [COLPCT 'Gender %' PCT5.0,
 @end example
 @psppoutput {ctables11}
 
 @end example
 @psppoutput {ctables11}
 
-@c TODO special CTABLES formats
+In addition to the standard formats, @code{CTABLES} allows the user to
+specify the following special formats:
+
+@multitable {@code{NEGPAREN@i{w}.@i{d}}} {Encloses all numbers in parentheses.} {@t{(42.96%)}} {@t{(-42.96%)}}
+@item @code{NEGPAREN@i{w}.@i{d}}
+@tab Encloses negative numbers in parentheses.
+@tab @t{@w{    }42.96}
+@tab @t{@w{  }(42.96)}
+
+@item @code{NEQUAL@i{w}.@i{d}}
+@tab Adds a @code{N=} prefix.
+@tab @t{@w{  }N=42.96}
+@tab @t{@w{ }N=-42.96}
+
+@item @code{@code{PAREN@i{w}.@i{d}}}
+@tab Encloses all numbers in parentheses.
+@tab @t{@w{  }(42.96)}
+@tab @t{@w{ }(-42.96)}
+
+@item @code{PCTPAREN@i{w}.@i{d}}
+@tab Encloses all numbers in parentheses with a @samp{%} suffix.
+@tab @t{@w{ }(42.96%)}
+@tab @t{(-42.96%)}
+@end multitable
 
 Parentheses provide a shorthand to apply summary specifications to
 multiple variables.  For example, both of these commands:
 
 Parentheses provide a shorthand to apply summary specifications to
 multiple variables.  For example, both of these commands:
@@ -1206,13 +1223,6 @@ each function's name is given its default label and format.  If no
 format is listed, then the default format is the print format for the
 variable being summarized.
 
 format is listed, then the default format is the print format for the
 variable being summarized.
 
-@menu
-* CTABLES Summary Functions for Individual Cells::
-* CTABLES Summary Functions for Groups of Cells::
-* CTABLES Summary Functions for Adjusted Weights::
-* CTABLES Unweighted Summary Functions::
-@end menu
-
 @node CTABLES Summary Functions for Individual Cells
 @subsubsection Summary Functions for Individual Cells
 
 @node CTABLES Summary Functions for Individual Cells
 @subsubsection Summary Functions for Individual Cells
 
@@ -1283,12 +1293,17 @@ Options}), or user-missing values excluded because
 @code{MISSING=EXCLUDE} is in effect on @code{CATEGORIES}, or
 system-missing values.  @code{COUNT} does not count these.
 
 @code{MISSING=EXCLUDE} is in effect on @code{CATEGORIES}, or
 system-missing values.  @code{COUNT} does not count these.
 
+@xref{CTABLES Missing Values for Summary Variables}, for details of
+how @code{CTABLES} summarizes missing values.
+
 @item @code{VALIDN} (``Valid N'', F40.0)
 The sum of valid count weights in included categories.
 
 @item @code{VALIDN} (``Valid N'', F40.0)
 The sum of valid count weights in included categories.
 
-@code{VALIDN} does not count missing values regardless of whether they
-are in included categories via @code{CATEGORIES}.  @code{VALIDN} does
-not count valid values that are in excluded categories.
+For categorical variables, @code{VALIDN} does not count missing values
+regardless of whether they are in included categories via
+@code{CATEGORIES}.  @code{VALIDN} does not count valid values that are
+in excluded categories.  @xref{CTABLES Missing Values for Summary
+Variables}, for details.
 
 @item @code{VARIANCE} (``Variance'')
 The variance.
 
 @item @code{VARIANCE} (``Variance'')
 The variance.
@@ -1365,10 +1380,11 @@ Percentage of the sum of the values within @var{area}.
 @node CTABLES Summary Functions for Adjusted Weights
 @subsubsection Summary Functions for Adjusted Weights
 
 @node CTABLES Summary Functions for Adjusted Weights
 @subsubsection Summary Functions for Adjusted Weights
 
-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:
+If the @code{WEIGHT} subcommand specified an effective weight variable
+(@pxref{CTABLES Effective Weight}), 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
 
 @itemize @bullet
 @item
@@ -1411,7 +1427,7 @@ counts:
 @code{UMISSING} (``Unweighted Missing'')
 
 @item
 @code{UMISSING} (``Unweighted Missing'')
 
 @item
-@code{UMODE} (``Unweight Mode'')
+@code{UMODE} (``Unweighted Mode'')
 
 @item
 @code{U@i{area}PCT.SUM} (``Unweighted @i{Area} Sum %'', PCT40.1)
 
 @item
 @code{U@i{area}PCT.SUM} (``Unweighted @i{Area} Sum %'', PCT40.1)
@@ -1504,8 +1520,8 @@ CTABLES /TABLE AgeGroup BY qns3a.
 
 @t{ROWLABELS=OPPOSITE} or @t{COLLABELS=OPPOSITE} move row or column
 variable category labels, respectively, to the opposite axis.  The
 
 @t{ROWLABELS=OPPOSITE} or @t{COLLABELS=OPPOSITE} move row or column
 variable category labels, respectively, to the opposite axis.  The
-setting affects only the innermost variable on the given axis.  For
-example:
+setting affects only the innermost variable or variables, which must
+be categorical, on the given axis.  For example:
 
 @example
 CTABLES /TABLE AgeGroup BY qns3a /CLABELS ROWLABELS=OPPOSITE.
 
 @example
 CTABLES /TABLE AgeGroup BY qns3a /CLABELS ROWLABELS=OPPOSITE.
@@ -1519,8 +1535,6 @@ column variable category labels, respectively, to the layer axis.
 Only one axis's labels may be moved, whether to the opposite axis or
 to the layer axis.
 
 Only one axis's labels may be moved, whether to the opposite axis or
 to the layer axis.
 
-@c TODO Moving category labels for stacked variables
-
 @subsubheading Effect on Summary Statistics
 
 @code{CLABELS} primarily affects the appearance of tables, not the
 @subsubheading Effect on Summary Statistics
 
 @code{CLABELS} primarily affects the appearance of tables, not the
@@ -1548,6 +1562,23 @@ CTABLES
 @end example
 @psppoutput {ctables24}
 
 @end example
 @psppoutput {ctables24}
 
+@subsubheading Moving Categories for Stacked Variables
+
+If @code{CLABELS} moves category labels from an axis with stacked
+variables, the variables that are moved must have the same category
+specifications (@pxref{CTABLES Per-Variable Category Options}) and the
+same value labels.
+
+The following shows both moving stacked category variables and
+adapting to the changing definitions of rows and columns:
+
+@example
+CTABLES /TABLE (qn105ba + qn105bb) [COLPCT].
+CTABLES /TABLE (qn105ba + qn105bb) [ROWPCT]
+  /CLABELS ROW=OPPOSITE.
+@end example
+@psppoutput {ctables25}
+
 @node CTABLES Per-Variable Category Options
 @subsection Per-Variable Category Options
 
 @node CTABLES Per-Variable Category Options
 @subsection Per-Variable Category Options
 
@@ -1574,16 +1605,20 @@ variables.  @code{CATEGORIES} applies to the table produced by the
 @t{VARIABLES} is required and must list the variables for the subcommand
 to affect.
 
 @t{VARIABLES} is required and must list the variables for the subcommand
 to affect.
 
-There are two way to specify the Categories to include and their sort
-order:
+The syntax may specify the categories to include and their sort order
+either explicitly or implicitly.  The following sections give the
+details of each form of syntax, followed by information on totals and
+subtotals and the @code{EMPTY} setting.
+
+@node CTABLES Explicit Categories
+@subsubsection Explicit Categories
 
 
-@table @asis
-@item Explicit categories.
 @anchor{CTABLES Explicit Category List}
 @anchor{CTABLES Explicit Category List}
-To explicitly specify categories to include, list the categories
-within square brackets in the desired sort order.  Use spaces or
-commas to separate values.  Categories not covered by the list are
-excluded from analysis.
+
+To use @code{CTABLES} to explicitly specify categories to include,
+list the categories within square brackets in the desired sort order.
+Use spaces or commas to separate values.  Categories not covered by
+the list are excluded from analysis.
 
 Each element of the list takes one of the following forms:
 
 
 Each element of the list takes one of the following forms:
 
@@ -1614,15 +1649,23 @@ Any non-missing value not covered by any other element of the list
 
 @item &@i{postcompute}
 A computed category name (@pxref{CTABLES Computed Categories}).
 
 @item &@i{postcompute}
 A computed category name (@pxref{CTABLES Computed Categories}).
+
+@item SUBTOTAL
+@itemx HSUBTOTAL
+A subtotal (@pxref{CTABLES Totals and Subtotals}).
 @end table
 
 @end table
 
-Additional forms, described later, allow for subtotals.
 If multiple elements of the list cover a given category, the last one
 in the list takes precedence.
 
 If multiple elements of the list cover a given category, the last one
 in the list takes precedence.
 
-@item Implicit categories.
-Without an explicit list of categories, @pspp{} sorts
-categories automatically.
+@c TODO example
+
+@node CTABLES Implicit Categories
+@subsubsection Implicit Categories
+
+In the absence of an explicit list of categories, @code{CATEGORIES}
+allows @code{KEY}, @code{ORDER}, and @code{MISSING} to specify how to
+select and sort categories.
 
 The @code{KEY} setting specifies the sort key.  By default, or with
 @code{KEY=VALUE}, categories are sorted by default.  Categories may
 
 The @code{KEY} setting specifies the sort key.  By default, or with
 @code{KEY=VALUE}, categories are sorted by default.  Categories may
@@ -1643,38 +1686,59 @@ order.  Specify @code{ORDER=D} to sort in descending order.
 User-missing values are excluded by default, or with
 @code{MISSING=EXCLUDE}.  Specify @code{MISSING=INCLUDE} to include
 user-missing values.  The system-missing value is always excluded.
 User-missing values are excluded by default, or with
 @code{MISSING=EXCLUDE}.  Specify @code{MISSING=INCLUDE} to include
 user-missing values.  The system-missing value is always excluded.
-@end table
 
 
-@subsubheading Totals and Subtotals
+@c TODO example
 
 
-@code{CATEGORIES} also controls display of totals and subtotals.
-Totals are not displayed with @code{TOTAL=NO}, which is also the
-default.  Specify @code{TOTAL=YES} to display a total.  By default,
-the total is labeled ``Total''; use @code{LABEL="@i{label}"} to
-override it.
+@node CTABLES Totals and Subtotals
+@subsubsection Totals and Subtotals
+
+@code{CATEGORIES} also controls display of totals and subtotals.  By
+default, or with @code{TOTAL=NO}, totals are not displayed.  Use
+@code{TOTAL=YES} to display a total.  By default, the total is labeled
+``Total''; use @code{LABEL="@i{label}"} to override it.
 
 Subtotals are also not displayed by default.  To add one or more
 subtotals, use an explicit category list and insert @code{SUBTOTAL} or
 @code{HSUBTOTAL} in the position or positions where the subtotal
 
 Subtotals are also not displayed by default.  To add one or more
 subtotals, use an explicit category list and insert @code{SUBTOTAL} or
 @code{HSUBTOTAL} in the position or positions where the subtotal
-should appear.  With @code{SUBTOTAL}, the subtotal becomes an extra
-row or column or layer; @code{HSUBTOTAL} additionally hides the
-categories that make up the subtotal.  Either way, the default label
-is ``Subtotal'', use @code{SUBTOTAL="@i{label}"} or
-@code{HSUBTOTAL="@i{label}"} to specify a custom label.
+should appear.  The subtotal becomes an extra row or column or layer.
+@code{HSUBTOTAL} additionally hides the categories that make up the
+subtotal.  Either way, the default label is ``Subtotal'', use
+@code{SUBTOTAL="@i{label}"} or @code{HSUBTOTAL="@i{label}"} to specify
+a custom label.
+
+@c TODO
 
 By default, or with @code{POSITION=AFTER}, totals are displayed in the
 output after the last category and subtotals apply to categories that
 precede them.  With @code{POSITION=BEFORE}, totals come before the
 first category and subtotals apply to categories that follow them.
 
 
 By default, or with @code{POSITION=AFTER}, totals are displayed in the
 output after the last category and subtotals apply to categories that
 precede them.  With @code{POSITION=BEFORE}, totals come before the
 first category and subtotals apply to categories that follow them.
 
+@c TODO
+
 Only categorical variables may have totals and subtotals.  Scalar
 variables may be ``totaled'' indirectly by enabling totals and
 subtotals on a categorical variable within which the scalar variable is
 summarized.
 
 Only categorical variables may have totals and subtotals.  Scalar
 variables may be ``totaled'' indirectly by enabling totals and
 subtotals on a categorical variable within which the scalar variable is
 summarized.
 
-@c TODO Specifying summaries for totals and subtotals
+@c TODO
 
 
-@subsubheading Categories Without Values
+By default, @pspp{} uses the same summary functions for totals and
+subtotals as other categories.  To summarize totals and subtotals
+differently, specify the summary functions for totals and subtotals
+after the ordinary summary functions inside a nested set of @code{[]}
+following @code{TOTALS}.  For example, the following syntax displays
+@code{COUNT} for individual categories and totals and @code{VALIDN}
+for totals, as shown:
+
+@example
+CTABLES
+    /TABLE qnd7a [COUNT, TOTALS[COUNT, VALIDN]]
+    /CATEGORIES VARIABLES=qnd7a TOTAL=YES MISSING=INCLUDE.
+@end example
+@psppoutput {ctables26}
+
+@node CTABLES Categories Without Values
+@subsubsection Categories Without Values
 
 Some categories might not be included in the data set being analyzed.
 For example, our example data set has no cases in the ``15 or
 
 Some categories might not be included in the data set being analyzed.
 For example, our example data set has no cases in the ``15 or
@@ -1688,6 +1752,8 @@ categories, they include all the values listed individually and all
 values with value labels that are covered by ranges or @code{MISSING}
 or @code{OTHERNM}.
 
 values with value labels that are covered by ranges or @code{MISSING}
 or @code{OTHERNM}.
 
+@c TODO
+
 @node CTABLES Titles
 @subsection Titles
 
 @node CTABLES Titles
 @subsection Titles
 
@@ -1698,14 +1764,34 @@ or @code{OTHERNM}.
     [@t{CORNER=}@i{string}@dots{}]
 @end display
 
     [@t{CORNER=}@i{string}@dots{}]
 @end display
 
-@c TODO Describe substitution variables
-
 The @code{TITLES} subcommand sets the title, caption, and corner text
 The @code{TITLES} subcommand sets the title, caption, and corner text
-for the table output for the previous @code{TABLE} subcommand.  The
-title appears above the table, the caption below the table, and the
-corner text appears in the table's upper left corner.  By default, the
-title is ``Custom Tables'' and the caption and corner text are empty.
-With some table output styles, the corner text is not displayed.
+for the table output for the previous @code{TABLE} subcommand.  Any
+number of strings may be specified for each kind of text, with each
+string appearing on a separate line in the output.  The title appears
+above the table, the caption below the table, and the corner text
+appears in the table's upper left corner.  By default, the title is
+``Custom Tables'' and the caption and corner text are empty.  With
+some table output styles, the corner text is not displayed.
+
+The strings provided in this subcommand may contain the following
+macro-like keywords that @pspp{} substitutes at the time that it runs
+the command:
+
+@table @code @c (
+@item )DATE
+The current date, e.g.@: MM/DD/YY.  The format is locale-dependent.
+
+@c (
+@item )TIME
+The current time, e.g.@: HH:MM:SS.  The format is locale-dependent.
+
+@c (
+@item )TABLE
+The expression specified on the @code{TABLE} command.  Summary
+and measurement level specifications are omitted, and variable labels are used in place of variable names.
+@end table
+
+@c TODO example
 
 @node CTABLES Table Formatting
 @subsection Table Formatting
 
 @node CTABLES Table Formatting
 @subsection Table Formatting
@@ -1730,7 +1816,8 @@ specify a number for either or both of these settings.  If both are
 specified, @code{MAXCOLWIDTH} must be greater than or equal to
 @code{MINCOLWIDTH}.  The default unit, or with @code{UNITS=POINTS}, is
 points (1/72 inch), or specify @code{UNITS=INCHES} to use inches or
 specified, @code{MAXCOLWIDTH} must be greater than or equal to
 @code{MINCOLWIDTH}.  The default unit, or with @code{UNITS=POINTS}, is
 points (1/72 inch), or specify @code{UNITS=INCHES} to use inches or
-@code{UNITS=CM} for centimeters.
+@code{UNITS=CM} for centimeters.  @pspp{} does not currently honor any
+of these settings.
 
 By default, or with @code{EMPTY=ZERO}, zero values are displayed in
 their usual format.  Use @code{EMPTY=BLANK} to use an empty cell
 
 By default, or with @code{EMPTY=ZERO}, zero values are displayed in
 their usual format.  Use @code{EMPTY=BLANK} to use an empty cell
@@ -1775,9 +1862,80 @@ Show variable name and label.
 Show nothing.
 @end table
 
 Show nothing.
 @end table
 
+@c TODO example
+
 @node CTABLES Missing Value Treatment
 @subsection Missing Value Treatment
 
 @node CTABLES Missing Value Treatment
 @subsection Missing Value Treatment
 
+The @code{TABLE} subcommand on @code{CTABLES} specifies two different
+kinds of variables: variables that divide tables into cells (which are
+always categorical) and variables being summarized (which may be
+categorical or scale).  @pspp{} treats missing values differently in
+each kind of variable:
+
+@itemize @bullet
+@item
+For variables that divide tables into cells, per-variable category
+options determine which data is analyzed.  If any of the categories
+for such a variable would exclude a case, then that case is not
+included.
+
+@item
+The treatment of missing values in variables being summarized varies
+between scale and scale and categorical variables.  The following
+section describes their treatment in detail.
+
+By default, each summarized variable is considered separately for
+missing value treatment.  A section below describes how to consider
+missing values listwise for summarizing scale variables.
+@end itemize
+
+@c TODO example
+
+@node CTABLES Missing Values for Summary Variables
+@subsubsection Missing Values for Summary Variables
+
+For summary variables, values that are valid and in included
+categories are analyzed, and values that are missing or in excluded
+categories are not analyzed, with the following exceptions:
+
+@itemize @bullet
+@item
+The ``@t{VALIDN}'' summary functions (@code{VALIDN}, @code{EVALIDN},
+@code{UVALIDN}, @code{@i{area}PCT.VALIDN}, and
+@code{U@i{area}PCT.VALIDN}) only count valid values in included
+categories (not missing values in included categories).
+
+@item
+The ``@t{TOTALN}'' summary functions (@code{TOTALN}, @code{ETOTALN},
+@code{UTOTALN}, @code{@i{area}PCT.TOTALN}), and
+@code{U@i{area}PCT.TOTALN} count all values (valid and missing) in
+included categories and missing (but not valid) values in excluded
+categories.
+@end itemize
+
+@noindent
+For categorical variables, system-missing values are never in included
+categories.  For scale variables, there is no notion of included and
+excluded categories, so all values are effectively included.
+
+The following table provides another view of the above rules:
+
+@multitable {@w{ }@w{ }@w{ }@w{ }Missing values in excluded categories} {@t{VALIDN}} {other} {@t{TOTALN}}
+@headitem @tab @t{VALIDN} @tab other @tab @t{TOTALN}
+@item @headitemfont{Categorical variables:}
+@item @w{ }@w{ }@w{ }@w{ }Valid values in included categories   @tab yes @tab yes @tab yes
+@item @w{ }@w{ }@w{ }@w{ }Missing values in included categories @tab --- @tab yes @tab yes
+@item @w{ }@w{ }@w{ }@w{ }Missing values in excluded categories @tab --- @tab --- @tab yes
+@item @w{ }@w{ }@w{ }@w{ }Valid values in excluded categories   @tab --- @tab --- @tab ---
+@item @headitemfont{Scale variables:}
+@item @w{ }@w{ }@w{ }@w{ }Valid values                          @tab yes @tab yes @tab yes
+@item @w{ }@w{ }@w{ }@w{ }User- or system-missing values        @tab --- @tab yes @tab yes
+@end multitable
+
+@node CTABLES Scale Missing Values
+@subsubsection Scale Missing Values
+
 @display
 @t{/SMISSING} @{@t{VARIABLE} @math{|} @t{LISTWISE}@}
 @end display
 @display
 @t{/SMISSING} @{@t{VARIABLE} @math{|} @t{LISTWISE}@}
 @end display
@@ -1914,6 +2072,8 @@ Normally a named postcompute is defined only once, but if a later
 @code{PCOMPUTE} redefines a postcompute with the same name as an
 earlier one, the later one take precedence.
 
 @code{PCOMPUTE} redefines a postcompute with the same name as an
 earlier one, the later one take precedence.
 
+@c TODO example
+
 @node CTABLES Computed Category Properties
 @subsection Computed Category Properties
 
 @node CTABLES Computed Category Properties
 @subsection Computed Category Properties
 
@@ -1935,15 +2095,19 @@ All of the settings on @code{PPROPERTIES} are optional.  Use
 output.  The default label for a postcompute is the expression used to
 define it.
 
 output.  The default label for a postcompute is the expression used to
 define it.
 
-The @code{FORMAT} setting sets summary statistics and display formats
-for the postcomputes.
+A postcompute always uses same summary functions as the variable whose
+categories contain it, but @code{FORMAT} allows control over the
+format used to display their values.  It takes a list of summary
+function names and format specifiers.
 
 By default, or with @code{HIDESOURCECATS=NO}, categories referred to
 by computed categories are displayed like other categories.  Use
 @code{HIDESOURCECATS=YES} to hide them.
 
 
 By default, or with @code{HIDESOURCECATS=NO}, categories referred to
 by computed categories are displayed like other categories.  Use
 @code{HIDESOURCECATS=YES} to hide them.
 
-@node CTABLES Base Weight
-@subsection Base Weight
+@c TODO example
+
+@node CTABLES Effective Weight
+@subsection Effective Weight
 
 @display
 @t{/WEIGHT VARIABLE=}@i{variable}
 
 @display
 @t{/WEIGHT VARIABLE=}@i{variable}
@@ -1951,17 +2115,17 @@ by computed categories are displayed like other categories.  Use
 
 The @code{WEIGHT} subcommand is optional and must appear before
 @code{TABLE}.  If it appears, it must name a numeric variable, known
 
 The @code{WEIGHT} subcommand is optional and must appear before
 @code{TABLE}.  If it appears, it must name a numeric variable, known
-as the @dfn{effective base weight} or @dfn{adjustment weight}.  The
-effective base weight variable stands in for the dictionary's weight
+as the @dfn{effective weight} or @dfn{adjustment weight}.  The
+effective weight variable stands in for the dictionary's weight
 variable (@pxref{WEIGHT}), if any, in most calculations in
 @code{CTABLES}.  The only exceptions are the @code{COUNT},
 @code{TOTALN}, and @code{VALIDN} summary functions, which use the
 dictionary weight instead.
 
 Weights obtained from the @pspp{} dictionary are rounded to the
 variable (@pxref{WEIGHT}), if any, in most calculations in
 @code{CTABLES}.  The only exceptions are the @code{COUNT},
 @code{TOTALN}, and @code{VALIDN} summary functions, which use the
 dictionary weight instead.
 
 Weights obtained from the @pspp{} dictionary are rounded to the
-nearest integer at the case level.  Effective base weights are not
-rounded.  Regardless of the weighting source, @pspp{} does not analyze
-cases with zero, missing, or negative effective weights.
+nearest integer at the case level.  Effective weights are not rounded.
+Regardless of the weighting source, @pspp{} does not analyze cases
+with zero, missing, or negative effective weights.
 
 @node CTABLES Hiding Small Counts
 @subsection Hiding Small Counts
 
 @node CTABLES Hiding Small Counts
 @subsection Hiding Small Counts
@@ -1976,6 +2140,8 @@ are shown as @code{<@i{count}} instead of their true values.  The
 value of @i{count} must be an integer and must be at least 2.  Case
 weights are considered for deciding whether to hide a count.
 
 value of @i{count} must be an integer and must be at least 2.  Case
 weights are considered for deciding whether to hide a count.
 
+@c TODO example
+
 @node FACTOR
 @section FACTOR
 
 @node FACTOR
 @section FACTOR