When it comes to naming variables, some people prefer camel casing (e.g. GearRatio); some prefer underscore (e.g. gear_ratio); and others prefer lowercase abbreviations (e.g. gr). We may also develop our own naming convention. But whichever we use, we should keep to one style throughout.
To change a variable's name, use rename oldvar newvar.
. rename rep78 repair_record
Each variable can have a label attached to it, which provides more information of a variable.
label variable varname “label” attaches a label to a variable.
. label variable rep78 “repair_record_78”
When browsing the auto data, you may have noticed that the foreign variable has values of characters in blue. This means that it is a numeric variable with labeled values. If you see the values in red, then it is a string variable. The black values are numbers.
We will discuss how to define variable value labels below.
label define and label values attach value labels to a numeric variable in two steps:
label define labelname # label # label … first creates a label name for all the labels we are going to attach to the variable values .
label values var labelname then matches the labels to the values.
For instance,
. sysuse auto
. gen priceIndicator = (price >= 5000 & price < .)
. label define priceLabel 0 affordable 1 expensive
. label values priceIndicator priceLabel
first creates an indicator variable based on an arbitrary standard of affordability (price<5000), and then attaches the labels of “affordable” to the numeric value 0 and “expensive” to 1.
. codebook priceIndicator
------------------------------------------------------------------------------------------
priceIndicator (unlabeled)
------------------------------------------------------------------------------------------
type: numeric (float)
label: priceLabel
range: [0,1] units: 1
unique values: 2 missing .: 0/74
tabulation: Freq. Numeric Label
37 0 affordable
37 1 expensive
We can see how each value of priceIndicator is labeled. The label name is "priceLabel".
Once we got the value label name, we can list the labels for each value of the variable.
label list labelname returns a list.
. label list priceLabel
priceLabel:
0 affordable
1 expensive
In fact, in the auto data, variable foreign came with attached value lables.
. codebook foreign
--------------------------------------------------------------------------------------
foreign Car type
--------------------------------------------------------------------------------------
type: numeric (byte)
label: origin
range: [0,1] units: 1
unique values: 2 missing .: 0/74
tabulation: Freq. Numeric Label
52 0 Domestic
22 1 Foreign
. label list origin
origin:
0 Domestic
1 Foreign
label drop labelname removes the value labels from a variable.
. label drop priceLabel