Differences between revisions 1 and 7 (spanning 6 versions)
Revision 1 as of 2020-01-29 19:47:10
Size: 238
Comment:
Revision 7 as of 2022-03-17 17:47:05
Size: 2110
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
= Metadata = = Stata Metadata =
Line 3: Line 3:
Data about data. Stata offers human-readable variable names, variable labels, variable printing formats, and value labels.

Stata stores variable labels and value labels in a separate database. Many built-in commands seamlessly pull in metadata from that database, but there are notable exceptions.

<<TableOfContents>>

----



== Variable Names ==

Variables are (re)named using the `rename` command. Since Stata 12, it offers some advanced features:

{{{
// rename all variables with a leading 'v' such that the 'v' is replaced with a 'V'
rename v* V*

// rename all variables with a leading 'new_' such that the prefix is stripped
rename new_* *

// rename all variables to a lowercase name
rename *, lower
}}}

For older versions of Stata, try these:

{{{
renpfix v V
renpfix new_
// TODO: how did older versions rename variable to lowercase?
}}}

----



== Labels ==

=== Variable Labels ===

Variable labels are defined using the '''`label`''' command.

{{{
label variable VAR "var"
}}}

Variable metadata including labels can be inspected and exported using the '''`describe`''' command.

{{{
preserve
describe, replace
assert varlab=="foo" if name=="bar"
restore
}}}



=== Value Labels ===

Variable labels are defined using the '''`label`''' command. However, they must first be defined as a label and then linked to one or more variables.

{{{
label define LABEL 0 "No" 1 "Yes"
label define LABEL 99 "Missing", modify
label values VAR LABEL
}}}

By default, labels cannot be overwritten. The '''add''' option allows new values to be inserted into an existing label. The '''replace''' option allows existing values to be overwritten in an existing label. The '''modify''' option combines both.

Numeric values can be added to value labels using the '''numlabel''' command.

{{{
numlabel LABEL, add mask("#. ")
}}}

Stata Metadata

Stata offers human-readable variable names, variable labels, variable printing formats, and value labels.

Stata stores variable labels and value labels in a separate database. Many built-in commands seamlessly pull in metadata from that database, but there are notable exceptions.


Variable Names

Variables are (re)named using the rename command. Since Stata 12, it offers some advanced features:

// rename all variables with a leading 'v' such that the 'v' is replaced with a 'V'
rename v* V*

// rename all variables with a leading 'new_' such that the prefix is stripped
rename new_* *

// rename all variables to a lowercase name
rename *, lower

For older versions of Stata, try these:

renpfix v V
renpfix new_
// TODO: how did older versions rename variable to lowercase?


Labels

Variable Labels

Variable labels are defined using the label command.

label variable VAR "var"

Variable metadata including labels can be inspected and exported using the describe command.

preserve
describe, replace
assert varlab=="foo" if name=="bar"
restore

Value Labels

Variable labels are defined using the label command. However, they must first be defined as a label and then linked to one or more variables.

label define LABEL 0 "No" 1 "Yes"
label define LABEL 99 "Missing", modify
label values VAR LABEL

By default, labels cannot be overwritten. The add option allows new values to be inserted into an existing label. The replace option allows existing values to be overwritten in an existing label. The modify option combines both.

Numeric values can be added to value labels using the numlabel command.

numlabel LABEL, add mask("#. ")


Quick Tips

Stata has a number of interactive tools for examining metadata.

di _N    // number of cases
di c(k)  // number of variables


CategoryRicottone

Stata/Metadata (last edited 2023-06-07 18:54:07 by DominicRicottone)