Produces ranks, from the values in a variate, allowing for ties (J.B. van Biezen & C.J.F. ter Braak).
Option
OMIT = string token |
Whether units excluded by a restriction on the DATA variate should be omitted from the RANKS variate (restricted ); default * , i.e. the units are not omitted, and their values are left unchanged |
---|
Parameters
DATA = variates |
Variate containing values to be ranked |
---|---|
RANKS = variates |
Variate to save vector of ranks |
TIESIZE = variates |
Variate to save the sizes of ties |
Description
RANK
calculates ranks of the values in a variate, allowing for ties. The variate must be specified by the DATA
parameter, and the ranks saved using the RANKS
parameter. The input variates in the parameter DATA
must each have at least one non-missing value. Missing values in the DATA
variates give corresponding missing values in the RANKS
variates. The TIESIZE
parameter can save the number of times each value occurs (starting with the lowest value).
The OMIT
option controls whether the RANKS
variate omits units that are excluded by a restriction on the DATA
variate. By default, the values in these units are left unchanged. However, if OMIT=restricted
, the RANKS
variate is compressed to omit the excluded units; this setting is used particularly by the nonparametric procedures.
Option: OMIT
.
Parameters: DATA
, RANKS
, TIESIZE
.
Method
The procedure uses the SORT
directive to discover the number of distinct values in the input variate, and then uses TABULATE
to obtain the number of times each value occurs – i.e. the size of ties. The tie-corrected rank numbers are then calculated. From these, the vector of ranks is obtained by modifying the levels of the factor that resulted from the first SORT
.
Action with RESTRICT
The variates in DATA
can be restricted, and in different ways. RANK
operates on the restricted set only. If OMIT=restricted
, the length of RANKS
will be the size of the restricted set of the DATA
variate. If OMIT
is unset, the RANKS
variate is of the same length as the DATA
variate.
See also
Procedure: SORT
.
Commands for: Calculations and manipulation.
Example
CAPTION 'RANK example'; STYLE=meta VARIATE [VALUES= 10,20...50,50,50] y RANK y;Ranky PRINT y,Ranky; DECIMALS=1 " Variate y1 is unrestricted. Variates y2 and y3 are restricted in different ways. The unrestricted values of these variates are ranked " VARIATE [VALUES=2,-2,-4,2,1,*,-2,-2,0,*] y1,y2,y3 RESTRICT y2; CONDITION=y1.GT.0 RESTRICT y3; CONDITION=y1.LT.-3 RANK [OMIT=restricted] DATA=y1,y2,y3; RANKS=r1,r2,r3 PRINT y1,r1 & y2,r2 & y3,r3 RANK DATA=y1,y2,y3; RANKS=R1,R2,R3; TIESIZE=*,t2,t3 PRINT y1,R1,R2,R3 & t2,t3