Permutes the levels and labels of a factor (J.T.N.M. Thissen).
Option
DIRECTION = string token |
Order into which to sort the levels or labels of FACTOR (ascending , descending ); default asce |
---|
Parameters
FACTOR = factor |
Factor whose levels or labels are to be permuted |
---|---|
NEWLEVELS = variate or text |
To specify the new order of the factor levels or labels |
Description
Occasionally a clear presentation of results requires permutation of factor levels. For example, describing the interaction between two qualitative factors you may want to change the order of the factor levels to clarify the interaction structure.
The factor whose levels are to be permuted must be specified using the FACTOR
parameter. The new order of the factor levels can be specified using the NEWLEVELS
parameter, either by way of the numerical levels (in a variate) or by the labels (in a text).
If the NEWLEVELS
parameter is not specified and the factor has labels, the levels are sorted so that these are in alphabetic order. If NEWLEVELS
is not set and there are no labels, the levels of the factor are put into numerical order. The DIRECTION
option determines whether the sort is into ascending or descending order; by default DIRECTION=ascending
.
Option: DIRECTION
.
Parameters: FACTOR
, NEWLEVELS
.
Method
The procedure uses the SORT
directive and a new factor declaration to change the order of the factor levels or labels.
Action with RESTRICT
Restrictions are not allowed.
See also
Procedures: FACEXCLUDEUNUSED
, FACLEVSTANDARDIZE
, FACSORT
, FACUNIQUE
, FDISTINCTFACTORS
.
Commands for: Calculations and manipulation.
Example
CAPTION 'FACAMEND example'; STYLE=meta VARIATE [VALUES= 1...20] Y FACTOR [LEVELS= !( 8, 12, 11, 10, 9);\ LABELS= !T( August, December, November, October, September);\ VALUES= 4( 8...12)] Month1, Month2 TABULATE [CLASSIFICATION= Month1; PRINT= totals] Y FACAMEND Month1; NEWLEVELS=!T(August, September, October, November, December) PRINT 3(Month1,Month2); DECIMALS=0; FREPRESENTATION=ordinals,levels,labels TABULATE [CLASSIFICATION= Month1; PRINT= totals] Y FACAMEND MontH2; NEWLEVELS= !(8...12) TABULATE [CLASSIFICATION= Month2; PRINT= totals] Y FACAMEND Month2 TABULATE [CLASSIFICATION= Month2; PRINT= totals] Y