{smcl} {* version 1.0.8 18aug2012}{...} {cmd:help labmv} {hline} {title:Title} {p 5} {cmd:labmv} {hline 2} Change numeric values to extended missing values preserving value labels {title:Syntax} {p 8} {cmd:labmv} [{varlist}] {ifin} {cmd:, mv(}{it:{help numlist}} | {it:#} [{it:mvc}] {it: ...}{cmd:)} [{it:options}] {p 5} where {it:mvc} is one of the {help missing:extended missing value} codes {hi:.a}|{hi:.b}|...|{hi:.z} {title:Description} {pstd} {cmd:labmv} changes numeric values in a specified {it:varlist} to extended missing values, preserving their value labels. If no {it:mvc} is specified, numeric values are changed to consecutive extended missing value codes, starting with {hi:.a}. Thus, the first numeric value specified will be coded {hi:.a}, the second {hi:.b} and so on. In value labels, any text associated with numeric values will be detached from these values and instead be associated with the corresponding missing value code. {pstd} Up to 26 numeric values may be specified in {opt mv}. If {it:varlist} is not specified it defaults to {hi:_all}. {pstd} {hi:Reminder:} modifiactions in value labels affect all variables that have the same value label as one of the variables in {it:varlist} attached. {title:Options} {phang} {cmd:mv(}{it:numlist} | {it:#} [{it:mvc}]{cmd:)} is a required option and specifies numeric values to be changed to extended missing value codes. The numeric value preceding {it:mvc} is changed to {it:mvc}. See {help labmv##r:Remarks}. {phang} {opt all:vars} changes numeric values to extended missing values in all variables that have the same value label as one of the variables in {it:varlist} attached. {phang} {opt nodel:ete} prevents {cmd:labmv} from deleting value labels that are changed. If specified numeric missing values and extended missing value codes will be associated with the same text. {phang} {opt f:mvc(mvc)} specifies the first extended missing value code to be used. Default is {hi:.a}. Note that the maximum number of values allowed in {opt mv} is potentially reduced if {it:mvc} > {hi:.a}. {phang} {opt en:code} changes extended missing value codes to numeric values, preserving value labels and, thus, reversing the default behavior. The first missing value code (default {hi:.a}) is changed to the first value specified in {opt mv} and so on. In {opt mv}, {it:mvc} is changed to the numeric value follwing {it:mvc}. See {help labmv##r:Remarks}. {phang} {opt c:urrent} changes value labels in the current {help label language} only. {marker r} {title:Remarks} {phang} {cmd:labmv} changes one numeric value to one extended missing value code. In {phang2}{cmd:labmv ,mv(1/3)}{p_end} {pstd} values {hi:1}, {hi:2} and {hi:3} are changed to {hi:.a}, {hi:.b} and {hi:.c} respectively. This is the same as {phang2}{cmd:labmv ,mv(1 .a 2 .b 3 .c)}{p_end} {pstd} Specifying {it:mvc} changes the numeric value preceding {it:mvc} to {it:mvc}. In {phang2}{cmd:labmv ,mv(1/3 .f)}{p_end} {pstd} only value {hi:3} is changed to {hi:.f}. Values {hi:1} and {hi:2} are changed to {hi:.a} and {hi:.b} respectively. {pstd} To reverse the above, type {phang2}{cmd:labmv ,mv(1 2 .f 3) encode}{p_end} {pstd} Option {opt fmvc} may be specified if {it:mvc} is specified in {opt mv}. The line {phang2}{cmd:labmv ,mv(1/3 .f) fmvc(.y)}{p_end} {pstd} changes values {hi:1} and {hi:2} to {hi:.y} and {hi:.z} respectively. Value {hi:3} is changed to {hi:.f}. {pstd} More confusing specifications are allowed. In {phang2}{cmd:labmv ,mv(1/3 .f) fmvc(.e)}{p_end} {pstd} values {hi:1} and {hi:2} are changed to {hi:.e} and {hi:.g} respectively. Since value {hi:3} is followed by {hi:.f} it is changed to {hi:.f}. {title:Example} {phang2}{cmd:. sysuse nlsw88}{p_end} {phang2}{cmd:. tab1 race married}{p_end} {phang2}{cmd:. label list racelbl marlbl}{p_end} {pstd} Decode missing values{p_end} {phang2}{cmd:. labmv race married ,mv(1 2)}{p_end} {phang2}{cmd:. tab1 race married}{p_end} {phang2}{cmd:. tab1 race married ,missing}{p_end} {phang2}{cmd:. label list racelbl marlbl}{p_end} {pstd} Encode missing values{p_end} {phang2}{cmd:. labmv race married ,mv(1 2) encode}{p_end} {phang2}{cmd:. tab1 race married}{p_end} {phang2}{cmd:. label list racelbl marlbl}{p_end} {title:Saved results} {pstd} {cmd:labmv} saves the following in {cmd:r()}: {pstd} Macros{p_end} {synoptset 15 tabbed}{...} {synopt:{cmd:r(values)}}numeric values{p_end} {synopt:{cmd:r(mvc)}}extended missing value codes{p_end} {synopt:{cmd:r(varlist)}}changed variables (if any){p_end} {synopt:{cmd:r(lblnamelist)}}changed value labels (if any){p_end} {synopt:{cmd:r(k)}}number of numeric values{p_end} {synopt:{cmd:r(minmvc)}}minimum extended missing value code{p_end} {synopt:{cmd:r(maxmvc)}}maximum extended missing value code{p_end} {synopt:{cmd:r(languages)}}label languages (multilingual datasets only){p_end} {title:Acknowledgments} {pstd} {cmd:labmv} is strongly inspired by {help nepsmiss} (Jan Skopek, Daniel Bela). {pstd} Daniel Possenriede suggested user-defined missing value codes in {opt mv}. {title:Author} {pstd}Daniel Klein, University of Kassel, klein.daniel.81@gmail.com {title:Also see} {psee} Online: {help mvdecode}, {help label} {p_end} {psee} if installed: {help labelmiss}, {help nepsmiss}, {help labutil2} {p_end}