1. Home
2. TALLY procedure

# TALLY procedure

Forms a simple tally table of the distinct values in a vector (D.B. Baird & R.D. Stern).

### Options

`PRINT` = string tokens What to print out for each vector (`frequencies`, `percentages`, `cumfrequencies`, `cumpercentages`, `cumgraph`, `all`); default `freq`, `perc` What to display as graphs (`cumulative`, `%cumulative`); default `*` i.e. no graphs Number of groups to form from a `DATA` variate or factor (ignored for texts); default `*` forms a group for each distinct value allowing for rounding (see `DECIMALS`) Number of decimal places to which to round the `DATA` before forming the groups; default `*` i.e. no rounding Whether to interpret the `LIMITS` as upper or lower boundaries (`upper`, `lower`); default `lowe` Order in which to sort (`ascending`, `descending`); default `asce` Whether empty groups are omitted (`yes`, `no`); default `no` Weights to be used in the tabulations; default `*` indicates that all units have weight 1 Whether to include quantiles on the plot (`yes`, `no`); default `no` Window in which to plot the graphs; default 1 if `GROUPS` is set, or 3 otherwise Window in which to display the key when `GROUPS` is set; default 2 Whether to clear screen before the plot (`clear`, `keep`); default `clea`

### Parameters

`DATA` = variates, factors or texts Data to be tallied Defines groupings of the data, to be tallied into separate tables; default `*` i.e. none Limits to define the groups within the tally tables Specifies the representation used to define the sort order of a `DATA` factor (`ordinals`, `levels`, `labels`); default `leve` Saves the distinct groups formed for the tally tables Saves the frequencies of the groups in the tally tables Saves the percentage occurrences of the groups Saves the cumulative frequencies of the groups Saves the cumulative percentages of the groups Title for plot; default automatically forms a title containing the identifiers of the `DATA` vector and any `GROUPS` factor Title for the axis representing data values; default uses the identifier of the `DATA` vector

### Description

`TALLY` forms and displays simple tally tables of a vector, giving the counts, percentages, and cumulative counts and percentages of each distinct value. The data values are specified by the `DATA` parameter, in either a variate, a factor or a text. You can also define groups, by specifying a factor using the `GROUPS` parameter. Separate tables are then formed for each group.

By default, the factor classifying the groups within the tally tables contains a level for each distinct data value. You can decrease the number of groups formed from a `DATA` variate or text by specifying the `NGROUPS` and `DECIMALS` options, or the `LIMITS` parameter. These work exactly as in the `GROUPS` directive. If limits are specified, the `BOUNDARIES` option controls whether these are interpreted as upper or lower boundaries of the groups; by default they are lower limits. The value that is used to represent each group is the median of the units in the group.

The `WEIGHTS` option can supply a variate of weights for the units of the vector, to be used when calculating the table. If this is not set, the units are all assumed to have weights equal to one.

The `PRINT` option controls which summaries are printed. The `DIRECTION` option controls the order of the tally table (ascending or descending). For a `DATA` factor, the `FREPRESENTATION` parameter controls which attribute is used to sort the groups (`ordinals`, `levels` or `labels`); by default the levels are used. The `OMITEMPTY` option can be used to omit empty groups.

The `GRAPH` option may be set to `cumulative` to produce a cumulative frequency graph, or `%cumulative` to produce a percentage graph. The `PQUANTILES` option controls whether or not the graphs include quantiles. The `WINDOW` and `KEYWINDOW` options specify the numbers of the windows to use for the plot and key respectively, and the `SCREEN` option controls whether the screen is cleared first, in the usual way. The `TITLE` parameter allows you to define an overall title for the graphs, and the `XTITLE` parameter allows you to define a title for their x-axes. If these are not set, suitable titles are defined automatically.

The `VALUES`, `FREQUENCIES`, `PERCENTAGES`, `CUMFREQUENCIES`, `CUMPERCENTAGES` parameters can be used to save the information. This is in variates or texts, if there are no `GROUPS`; otherwise it is in pointers, containing a variate or text for each group.

Options: `PRINT`, `GRAPH`, `NGROUPS`, `DECIMALS`, `BOUNDARIES`, `DIRECTION`, `OMITEMPTY`, `WEIGHTS`, `PQUANTILES`, `WINDOW`, `KEYWINDOW`, `SCREEN`.

Parameters: `DATA`, `GROUPS`, `LIMITS`, `FREPRESENTATION`, `VALUES`, `FREQUENCIES`, `PERCENTAGES`, `CUMFREQUENCIES`, `CUMPERCENTAGES`, `TITLE`, `XTITLE`.

### Method

The `GROUPS` directive is called for a `DATA` variate or text, to form the grouping factor within the tally tables. `TABULATE` then forms the counts for each group.

### Action with `RESTRICT`

Restricted units are left out of the tally results.

Directive: `TABULATE`.

Procedures: `DESCRIBE`, `MTABULATE`, `SVSTRATIFIED`, `SVTABULATE`, `TABMODE`.

### Example

```CAPTION 'TALLY example'; STYLE=meta
CALC    [SEED=971064] X = GRNORMAL(200;10;3.3)
&      IntX   = ROUND(X)
&      Limits = !(-8...8) + 10
TEXT    Txt; !T((A,2(B,2(C)),3(D))3,A,B,E)
GROUPS  X; FacX; LIMITS=Limits
TEXT    Labs; !t(S,R,Q,P,N,M,L,K,J,I,H,G,F,E,D,C,B,A)
FACTOR  [MODIFY=yes;labels=Labs] FacX
TALLY   IntX,Txt,FacX
TALLY   [PRINT=frequencies,cumfrequencies;DIRECTION=descending] IntX
TALLY   [BOUNDARIES=upper;OMITEMPTY=yes] X; LIMITS=Limits
TALLY   [NGROUPS=10] X
TALLY   FacX; FREPRESENTATION=labels
TALLY   [PRINT=*;GRAPH=cumulative] X; VALUES=V; CUMPERCENTAGES=C
TALLY   [PRINT=*;DIRECTION=descending;GRAPH=%cumulative] IntX
```
Updated on June 18, 2019