Stata The Stata listserver
[Date Prev][Date Next][Thread Prev][Thread Next][Date index][Thread index]

st: mapping a value from 2 variables

From   [email protected]
To   [email protected]
Subject   st: mapping a value from 2 variables
Date   Wed, 24 Jul 2002 10:12:48 -0400

Has anyone written a routine to define a value label mapping based on two
variables (one numeric, one string)?  Several searches using findit did not
turn up anything.  Normally, I wouldn't bother asking but I would find it
surprising if no one had tried to automate this type of task before.

For instance, I have many data files comprising industrial classification
codes which I routinely merge to data for various projects.  One such
example is my file for the NAICS (North American Industry Classification
System) Codes, which contains the numerical variable _naics_ and string
variable _labelnaics_

 . list

              naics                                   labelnaics
    1.           11   Agriculture, Forestry, Fishing and Hunting
    2.          111                              Crop Production
    3.         1111                    Oilseed and Grain Farming
    4.        11111                              Soybean Farming
    5.       111110                              Soybean Farming
    6.        11112             Oilseed (except Soybean) Farming
    7.       111120             Oilseed (except Soybean) Farming
    8.        11113                     Dry Pea and Bean Farming

I would like to define a value label such that each value of _naics_ would
map to the corresponding value of _labelnaics_.   Encode will not do the
trick here since it would be equivalent to:

  label define naicslab 1 "Agriculture, Forestry, Fishing and Hunting"
  label define naicslab 2 "Crop Production", add
  label define naicslab 3 "Oilseed and Grain Farming", add

I could write my own .ado to create a do file similar to those generated by
-label save ...-.  This could be done by:
- sending the data to a comma-delimited file via -outsheet-
- using the -file-command, replacing the first comma by a space character
- prefixing each line by -label define-
- suffixing by -, modify-

But before I do that, has anyone seen such an .ado?

Patrick Joly
[email protected]
[email protected]
*   For searches and help try:

© Copyright 1996–2024 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   What's new   |   Site index