Sorts tables so their margins are in ascending or descending order (R.W. Payne).
Options
PRINT = string tokens |
Controls output (tables, histograms); default * i.e. none |
|---|---|
DIRECTION = string token |
Direction of sorting (ascending, descending); default asce |
METHOD = string token |
Method to use to construct a marginal table for the sorting of a factor when there is no one-way table classified by the factor in the TABLE list, and the first table in the TABLE list classified by the factor has no margins (totals, means, minima, maxima, variances, medians); default tota |
FACTORS = pointer |
Specifies or saves a list of classifying factors of the tables in the TABLE list |
NEWFACTORS = pointer |
Specifies or saves a list of classifying factors of the new tables, corresponding to those in the FACTORS pointer |
EXCLUDE = pointer |
Factors to exclude from sorting |
NBEST = string tokens |
Number of (best) levels to include from each sorted factor; default * i.e. all of them |
Parameters
TABLE = tables |
Tables to be sorted |
|---|---|
NEWTABLE = tables |
Allows the new sorted tables to be saved |
TITLE = texts |
Title to be used when displaying each table |
FIELDWIDTH = scalars |
Field width for printing each table |
DECIMALS = scalars |
Decimal places for each table |
Description
This procedure sorts tables so that their margins are in a specified order. With a multi-way table, for example, this may help in interpreting an interaction from an analysis of variance. With a one-way table, it allows the cells to be displayed in ascending order, as in a Pareto chart.
The original tables are supplied by the TABLE parameter. The NEWTABLE parameter can be used to save the sorted tables.
If you want to specify your own ordering, the FACTORS and NEWFACTORS options can be set to pointers of pre-defined factors indicating the ways in which each dimension of the tables is to be sorted: FACTORS contains factors from the classifying sets of the original tables, and NEWFACTORS contains the corresponding factors for the new tables (with the levels in the new order).
Alternatively, you can let TABSORT define the ordering. For each factor classifying the original tables, the ordering is obtained using a one-way table for that factor. This may be available amongst the list of original tables (specified by the TABLE parameter). If not, TABSORT finds the first table in the list with the factor in its classifying set. If the table has margins, then TABSORT will extract the appropriate one-way margin. Otherwise, it first constructs the margins using the MARGIN directive; the METHOD option then defines how the margin is formed (using means, medians and so on). Having obtained a suitable one-way table, TABSORT forms a new factor whose levels are in the order that will arrange the entries of the table in either ascending or descending order according to the setting of the DIRECTION option (default ascending). The FACTORS and NEWFACTORS options can then be used to save pointers containing the factors and reordered factors for future use. Note also, that even if you do not want to use the factors in future, you can use the pointers to specify identifiers for the new factors to be used when the tables are printed. (You must specify both of them, so that TABSORT can tell how the new identifiers correspond to the original factors.) The EXCLUDE option can be set to a pointer containing factors that are not to be re-ordered automatically, but should be left unchanged.
The NBEST option specifies the number of levels to include from each sorted factor. So, setting NBEST=5 would take only the first five levels in the sorted order. This may be useful if you have a large table, and want to show only the best part of the table (as defined by the sorting of the margins). This default is to include all of the levels.
The PRINT option controls the output produced by TABSORT. The setting tables prints the tables. The setting histograms, causes any one-way tables to be plotted by the DHISTOGRAM directive, and any two-way tables to be plotted by D3HISTOGRAM. The TITLE parameter allows you to supply a title to be used in the display of each table. The FIELDWIDTH parameter specifies field widths, and the DECIMALS parameter specified numbers of decimal places.
Options: PRINT, DIRECTION, METHOD, FACTORS, NEWFACTORS, EXCLUDE, NBEST.
Parameters: TABLE, NEWTABLE, TITLE, FIELDWIDTH, DECIMALS.
Method
TABSORT uses FACSORT to sort the factors and COMBINE to reorder the table.
See also
Directives: COMBINE, TABLE, TABULATE, MARGIN.
Procedures: MTABULATE, SVSTRATIFIED, SVTABULATE, TABINSERT, TABMODE, T%CONTROL.
Commands for: Calculations and manipulation, Six sigma, Survey analysis.
Example
CAPTION 'TABSORT example',\
'Data from Snedecor & Cochran (1980), Statistical Methods',\
'(seventh edition), p.305.'; STYLE=meta,plain
FACTOR [NVALUES=60; LABELS=!T(Beef,Cereal,Pork); VALUES=(1...3)20] Source
FACTOR [NVALUES=60; LABELS=!T(High,Low); VALUES=3(1,2)10] Amount
VARIATE [NVALUES=60] Gain
READ Gain
73 98 94 90 107 49
102 74 79 76 95 82
118 56 96 90 97 73
104 111 98 64 80 86
81 95 102 86 98 81
107 88 102 51 74 97
100 82 108 72 74 106
87 77 91 90 67 70
117 86 120 95 89 61
111 92 105 78 58 82 :
TREATMENTS Source*Amount
ANOVA [PRINT=means; FPROBABILITY=yes] Gain
AKEEP Source*Amount; MEANS=SourceMeans,AmountMeans,SourceByAmountMeans
TABSORT [PRINT=tables] SourceMeans,AmountMeans,SourceByAmountMeans