.-
help for ^labsort^
.-

Recode a grouping variable according to a group statistic and reorder its value labels -------------------------------------------------------------

^labsort^ groupvar yvar [ ^, s^tat^(^string^) g^en^(^newvar^) l^abel^ (^string^)^ ^sort(^string^)^]

Description -----------

^labsort^ recodes a numerical grouping (categorical) variable so that the levels are sorted according to a group statistic such as the mean or median (any statistic available from -egen , by()- ). The value labels are also reordered. The variable label of ^groupvar^, if any, is copied to ^newvar^.

Primarily for ordering categories in tables or graphs.

Remarks -------

Suppose we have data on wind speed for various cities over a number of years. The string variable ^city^ is encoded to the numerical variable ^C^ with value label ^C^ for use in anova or graphing. The value labels for ^C^ will be in alphabetical order. ^C^ can be recoded and the value labels reordered so that the cities are now in order of their mean wind speed (over years) by

^labsort C speed , stat(mean) gen(Csort) lab(Csort)^

Options -------

^stat(^string^)^ specifies the statistic: mean, median, min, max, sd ... Anything available with -egen , by()- . Default mean.

^gen(^newvar^)^ the name of the new variable to be created. Default _newvar.

^lbl(^string^)^ the new value label name. Default _newlbl.

^sort(^string^)^ sort order as per gsort: + or -

Example -------- From JA Rice p382. Yearly max. wind speed by city(n=21) and year(N=37).

. ^encode city , gen(C) label(C)^ . ^labsort C speed , stat(mean) gen(Csort) lab(Csort)^ . ^graph Csort speed, ylab(1/21) s(O)^ . ^preserve^ . ^collapse (mean) speed , by(city C Csort)^ . ^sort Csort^ . ^list city C Csort speed^ . ^restore city C Csort speed 1. Baker Baker Baker 29.8649 2. Yuma Yuma Yuma 32.4595 3. Eureka Eureka Eureka 35.5946 [snip] 20. Tatoush Island Tatoush Island Tatoush Island 64.7297 21. North Head North Head North Head 69.2432

. ^list city C _C speed, nolabel^

city C Csort speed 1. Baker 2 1 29.8649 2. Yuma 21 2 32.4595 3. Eureka 11 3 35.5946 [snip] 20. Tatoush Island 17 20 64.7297 21. North Head 13 21 69.2432

Author ------ Ross Odell Graduate School of Biomedical Engineering University of New South Wales Sydney, Australia email: r.odell@unsw.edu.au

Acknowledgements ----------------

I used -labcopy- by NJ Cox as a stepping stone.

Also see --------

On-line: help for @label@, @encode@, @labcopy@ (if installed) Manual: ^[U] 15.6^, ^[R] label^, ^[R] encode^