---------------------------------------------------------------------------------------------------------------------------------- name: log: C:\Users\rwr\Dropbox\basu-house\build\code\../temp/raw2dta_MARSTAT-KEY.log log type: text opened on: 17 Jul 2016, 12:22:10 . /*****************************************************************************/ > clear all; . infile using `raw'`prg'.dct; infile dictionary { R0000100 "ID# (1-12686) 79" R0214700 "RACL/ETHNIC COHORT /SCRNR 79" R0214800 "SEX OF R 79" R0217501 "MARITAL STATUS 79" R0405601 "MARITAL STATUS 80" R0618601 "MARITAL STATUS 81" R0898401 "MARITAL STATUS 82" R1144901 "MARITAL STATUS 83" R1520101 "MARITAL STATUS 84" R1890801 "MARITAL STATUS 85" R2257901 "MARITAL STATUS 86" R2445301 "MARITAL STATUS 87" R2871000 "MARITAL STATUS 88" R3074700 "MARITAL STATUS 89" R3401400 "MARITAL STATUS 90" R3656800 "MARITAL STATUS 91" R4007300 "MARITAL STATUS 92" R4418400 "MARITAL STATUS 93" R5081400 "MARITAL STATUS 94" R5166700 "MARITAL STATUS 96" R6479300 "MARITAL STATUS 1998" R7007000 "MARITAL STATUS 2000" R7704300 "MARITAL STATUS 2002" R8496700 "MARITAL STATUS 2004" T0988500 "MARITAL STATUS 2006" T2210500 "MARITAL STATUS 2008" T3108400 "MARITAL STATUS 2010" T4112900 "MARITAL STATUS 2012" } (12,686 observations read) . #delimit cr delimiter now cr . do `raw'`prg'-value-labels.do . label define vlR0214700 1 "HISPANIC" 2 "BLACK" 3 "NON-BLACK, NON-HISPANIC" . label values R0214700 vlR0214700 . label define vlR0214800 1 "MALE" 2 "FEMALE" . label values R0214800 vlR0214800 . label define vlR0217501 0 "NEVER MARRIED" 1 "MARRIED" 2 "SEPARATED" 3 "DIVORCED" 5 "REMARRIED" 6 "WIDOWED" . label values R0217501 vlR0217501 . label define vlR0405601 0 "NEVER MARRIED" 1 "MARRIED" 2 "SEPARATED" 3 "DIVORCED" 5 "REMARRIED" 6 "WIDOWED" . label values R0405601 vlR0405601 . label define vlR0618601 0 "NEVER MARRIED" 1 "MARRIED" 2 "SEPARATED" 3 "DIVORCED" 5 "REMARRIED" 6 "WIDOWED" . label values R0618601 vlR0618601 . label define vlR0898401 0 "NEVER MARRIED" 1 "MARRIED" 2 "SEPARATED" 3 "DIVORCED" 5 "REMARRIED" 6 "WIDOWED" . label values R0898401 vlR0898401 . label define vlR1144901 0 "NEVER MARRIED" 1 "MARRIED" 2 "SEPARATED" 3 "DIVORCED" 5 "REMARRIED" 6 "WIDOWED" . label values R1144901 vlR1144901 . label define vlR1520101 0 "NEVER MARRIED" 1 "MARRIED" 2 "SEPARATED" 3 "DIVORCED" 5 "REMARRIED" 6 "WIDOWED" . label values R1520101 vlR1520101 . label define vlR1890801 0 "NEVER MARRIED" 1 "MARRIED" 2 "SEPARATED" 3 "DIVORCED" 5 "REMARRIED" 6 "WIDOWED" . label values R1890801 vlR1890801 . label define vlR2257901 0 "NEVER MARRIED" 1 "MARRIED" 2 "SEPARATED" 3 "DIVORCED" 5 "REMARRIED" 6 "WIDOWED" . label values R2257901 vlR2257901 . label define vlR2445301 0 "NEVER MARRIED" 1 "MARRIED" 2 "SEPARATED" 3 "DIVORCED" 5 "REMARRIED" 6 "WIDOWED" . label values R2445301 vlR2445301 . label define vlR2871000 0 "NEVER MARRIED" 1 "MARRIED" 2 "SEPARATED" 3 "DIVORCED" 5 "REMARRIED" 6 "WIDOWED" . label values R2871000 vlR2871000 . label define vlR3074700 0 "NEVER MARRIED" 1 "MARRIED" 2 "SEPARATED" 3 "DIVORCED" 5 "REMARRIED" 6 "WIDOWED" . label values R3074700 vlR3074700 . label define vlR3401400 0 "NEVER MARRIED" 1 "MARRIED" 2 "SEPARATED" 3 "DIVORCED" 5 "REMARRIED" 6 "WIDOWED" . label values R3401400 vlR3401400 . label define vlR3656800 0 "NEVER MARRIED" 1 "MARRIED" 2 "SEPARATED" 3 "DIVORCED" 5 "REMARRIED" 6 "WIDOWED" . label values R3656800 vlR3656800 . label define vlR4007300 0 "NEVER MARRIED" 1 "MARRIED" 2 "SEPARATED" 3 "DIVORCED" 5 "REMARRIED" 6 "WIDOWED" . label values R4007300 vlR4007300 . label define vlR4418400 0 "NEVER MARRIED" 1 "MARRIED" 2 "SEPARATED" 3 "DIVORCED" 6 "WIDOWED" . label values R4418400 vlR4418400 . label define vlR5081400 0 "0: 0 NEVER MARRIED" 1 "1: 1 MARRIED" 2 "2: 2 SEPARATED" 3 "3: 3 DIVORCED" 6 "6: 6 WIDOWED" . label values R5081400 vlR5081400 . label define vlR5166700 0 "0: NEVER MARRIED" 1 "1: MARRIED" 2 "2: SEPARATED" 3 "3: DIVORCED" 6 "6: WIDOWED" . label values R5166700 vlR5166700 . label define vlR6479300 0 "Never Married" 1 "Married" 2 "Separated" 3 "Divorced" 6 "Widowed" . label values R6479300 vlR6479300 . label define vlR7007000 0 "Never Married" 1 "Married" 2 "Separated" 3 "Divorced" 6 "Widowed" . label values R7007000 vlR7007000 . label define vlR7704300 0 "0: 0 NEVER MARRIED" 1 "1: 1 MARRIED" 2 "2: 2 SEPARATED" 3 "3: 3 DIVORCED" 6 "6: 6 WIDOWED" . label values R7704300 vlR7704300 . label define vlR8496700 0 "0: 0 NEVER MARRIED" 1 "1: 1 MARRIED" 2 "2: 2 SEPARATED" 3 "3: 3 DIVORCED" 6 "6: 6 WIDOWED" . label values R8496700 vlR8496700 . label define vlT0988500 0 "0: 0 NEVER MARRIED" 1 "1: 1 MARRIED" 2 "2: 2 SEPARATED" 3 "3: 3 DIVORCED" 6 "6: 6 WIDOWED" . label values T0988500 vlT0988500 . label define vlT2210500 0 "0: 0 NEVER MARRIED" 1 "1: 1 MARRIED" 2 "2: 2 SEPARATED" 3 "3: 3 DIVORCED" 6 "6: 6 WIDOWED" . label values T2210500 vlT2210500 . label define vlT3108400 0 "0: 0 NEVER MARRIED" 1 "1: 1 MARRIED" 2 "2: 2 SEPARATED" 3 "3: 3 DIVORCED" 6 "6: 6 WIDOWED" . label values T3108400 vlT3108400 . label define vlT4112900 0 "0: 0 NEVER MARRIED" 1 "1: 1 MARRIED" 2 "2: 2 SEPARATED" 3 "3: 3 DIVORCED" 6 "6: 6 WIDOWED" . label values T4112900 vlT4112900 . /* Crosswalk for Reference number & Question name > * Uncomment and edit this RENAME statement to rename variables for ease of use. > * This command does not guarantee uniqueness > */ . /* *start* */ . /* > rename R0000100 CASEID_1979 > rename R0214700 SAMPLE_RACE_1979 > rename R0214800 SAMPLE_SEX_1979 > rename R0217501 MARSTAT_KEY_1979 // MARSTAT-KEY > rename R0405601 MARSTAT_KEY_1980 // MARSTAT-KEY > rename R0618601 MARSTAT_KEY_1981 // MARSTAT-KEY > rename R0898401 MARSTAT_KEY_1982 // MARSTAT-KEY > rename R1144901 MARSTAT_KEY_1983 // MARSTAT-KEY > rename R1520101 MARSTAT_KEY_1984 // MARSTAT-KEY > rename R1890801 MARSTAT_KEY_1985 // MARSTAT-KEY > rename R2257901 MARSTAT_KEY_1986 // MARSTAT-KEY > rename R2445301 MARSTAT_KEY_1987 // MARSTAT-KEY > rename R2871000 MARSTAT_KEY_1988 // MARSTAT-KEY > rename R3074700 MARSTAT_KEY_1989 // MARSTAT-KEY > rename R3401400 MARSTAT_KEY_1990 // MARSTAT-KEY > rename R3656800 MARSTAT_KEY_1991 // MARSTAT-KEY > rename R4007300 MARSTAT_KEY_1992 // MARSTAT-KEY > rename R4418400 MARSTAT_KEY_1993 // MARSTAT-KEY > rename R5081400 MARSTAT_KEY_1994 // MARSTAT-KEY > rename R5166700 MARSTAT_KEY_1996 // MARSTAT-KEY > rename R6479300 MARSTAT_KEY_1998 // MARSTAT-KEY > rename R7007000 MARSTAT_KEY_2000 // MARSTAT-KEY > rename R7704300 MARSTAT_KEY_2002 // MARSTAT-KEY > rename R8496700 MARSTAT_KEY_2004 // MARSTAT-KEY > rename T0988500 MARSTAT_KEY_2006 // MARSTAT-KEY > rename T2210500 MARSTAT_KEY_2008 // MARSTAT-KEY > rename T3108400 MARSTAT_KEY_2010 // MARSTAT-KEY > rename T4112900 MARSTAT_KEY_2012 // MARSTAT-KEY > */ . /* *end* */ . /* To convert variable names to lower case use the TOLOWER command > * (type findit tolower and follow the links to install). > * TOLOWER VARLIST will change listed variables to lower case; > * TOLOWER without a specified variable list will convert all variables in the dataset to lower case > */ . /* tolower */ . end of do-file . #delimit ; delimiter now ; . rename R0000100 id; . rename R0214800 sex; . rename R0214700 race; . keep if sex=="MALE":vlR0214800; (6,283 observations deleted) . d, varlist; Contains data obs: 6,403 vars: 28 size: 717,136 ---------------------------------------------------------------------------------------------------------------------------------- storage display value variable name type format label variable label ---------------------------------------------------------------------------------------------------------------------------------- id float %9.0g ID# (1-12686) 79 race float %23.0g vlR0214700 RACL/ETHNIC COHORT /SCRNR 79 sex float %9.0g vlR0214800 SEX OF R 79 R0217501 float %13.0g vlR0217501 MARITAL STATUS 79 R0405601 float %13.0g vlR0405601 MARITAL STATUS 80 R0618601 float %13.0g vlR0618601 MARITAL STATUS 81 R0898401 float %13.0g vlR0898401 MARITAL STATUS 82 R1144901 float %13.0g vlR1144901 MARITAL STATUS 83 R1520101 float %13.0g vlR1520101 MARITAL STATUS 84 R1890801 float %13.0g vlR1890801 MARITAL STATUS 85 R2257901 float %13.0g vlR2257901 MARITAL STATUS 86 R2445301 float %13.0g vlR2445301 MARITAL STATUS 87 R2871000 float %13.0g vlR2871000 MARITAL STATUS 88 R3074700 float %13.0g vlR3074700 MARITAL STATUS 89 R3401400 float %13.0g vlR3401400 MARITAL STATUS 90 R3656800 float %13.0g vlR3656800 MARITAL STATUS 91 R4007300 float %13.0g vlR4007300 MARITAL STATUS 92 R4418400 float %13.0g vlR4418400 MARITAL STATUS 93 R5081400 float %19.0g vlR5081400 MARITAL STATUS 94 R5166700 float %16.0g vlR5166700 MARITAL STATUS 96 R6479300 float %13.0g vlR6479300 MARITAL STATUS 1998 R7007000 float %13.0g vlR7007000 MARITAL STATUS 2000 R7704300 float %19.0g vlR7704300 MARITAL STATUS 2002 R8496700 float %19.0g vlR8496700 MARITAL STATUS 2004 T0988500 float %19.0g vlT0988500 MARITAL STATUS 2006 T2210500 float %19.0g vlT2210500 MARITAL STATUS 2008 T3108400 float %19.0g vlT3108400 MARITAL STATUS 2010 T4112900 float %19.0g vlT4112900 MARITAL STATUS 2012 ---------------------------------------------------------------------------------------------------------------------------------- Sorted by: Note: Dataset has changed since last saved. . local myvar1 = r(varlist); . local myvar2 id sex race; . local myvar : list myvar1 - myvar2; . foreach vv of local myvar {; 2. mvdecode `vv', mv(-5=. \ -4=. \ -3=. \ -2=. \ -1=.); 3. /* When start/stop=0, then job started in a week prior to 1978 */ > assert `vv' >= 0 if !missing(`vv'); 4. local xx : variable label `vv'; 5. di "`xx'"; 6. local rxx = strreverse("`xx'"); 7. di "`rxx'"; 8. if regexm("`rxx'","^[0-9][0-9] ") {; 9. local temp = substr("`xx'",-2,2); 10. local year = 1900 + `temp'; 11. }; 12. if regexm("`rxx'","^[0-9][0-9][0-9][0-9] ") {; 13. local year = substr("`xx'",-4,4); 14. }; 15. rename `vv' marstat_`year'; 16. la val marstat_`year' vl`vv'; 17. }; R0217501: 2 missing values generated MARITAL STATUS 79 97 SUTATS LATIRAM R0405601: 313 missing values generated MARITAL STATUS 80 08 SUTATS LATIRAM R0618601: 272 missing values generated MARITAL STATUS 81 18 SUTATS LATIRAM R0898401: 318 missing values generated MARITAL STATUS 82 28 SUTATS LATIRAM R1144901: 256 missing values generated MARITAL STATUS 83 38 SUTATS LATIRAM R1520101: 348 missing values generated MARITAL STATUS 84 48 SUTATS LATIRAM R1890801: 1033 missing values generated MARITAL STATUS 85 58 SUTATS LATIRAM R2257901: 1166 missing values generated MARITAL STATUS 86 68 SUTATS LATIRAM R2445301: 1287 missing values generated MARITAL STATUS 87 78 SUTATS LATIRAM R2871000: 1253 missing values generated MARITAL STATUS 88 88 SUTATS LATIRAM R3074700: 1207 missing values generated MARITAL STATUS 89 98 SUTATS LATIRAM R3401400: 1292 missing values generated MARITAL STATUS 90 09 SUTATS LATIRAM R3656800: 1932 missing values generated MARITAL STATUS 91 19 SUTATS LATIRAM R4007300: 1922 missing values generated MARITAL STATUS 92 29 SUTATS LATIRAM R4418400: 1939 missing values generated MARITAL STATUS 93 39 SUTATS LATIRAM R5081400: 1994 missing values generated MARITAL STATUS 94 49 SUTATS LATIRAM R5166700: 2128 missing values generated MARITAL STATUS 96 69 SUTATS LATIRAM R6479300: 2303 missing values generated MARITAL STATUS 1998 8991 SUTATS LATIRAM R7007000: 2485 missing values generated MARITAL STATUS 2000 0002 SUTATS LATIRAM R7704300: 2636 missing values generated MARITAL STATUS 2002 2002 SUTATS LATIRAM R8496700: 2727 missing values generated MARITAL STATUS 2004 4002 SUTATS LATIRAM T0988500: 2666 missing values generated MARITAL STATUS 2006 6002 SUTATS LATIRAM T2210500: 2621 missing values generated MARITAL STATUS 2008 8002 SUTATS LATIRAM T3108400: 2737 missing values generated MARITAL STATUS 2010 0102 SUTATS LATIRAM T4112900: 2880 missing values generated MARITAL STATUS 2012 2102 SUTATS LATIRAM . reshape long marstat, i(id race sex) j(junk) s; (note: j = _1979 _1980 _1981 _1982 _1983 _1984 _1985 _1986 _1987 _1988 _1989 _1990 _1991 _1992 _1993 _1994 _1996 _1998 _2000 _2002 > _2004 _2006 _2008 _2010 _2012) Data wide -> long ----------------------------------------------------------------------------- Number of obs. 6403 -> 160075 Number of variables 28 -> 5 j variable (25 values) -> junk xij variables: marstat_1979 marstat_1980 ... marstat_2012-> marstat ----------------------------------------------------------------------------- . gen year = substr(junk,2,4); . destring year, replace; year has all characters numeric; replaced as int . keep id race sex year marstat; . save `tempdata'`prg'_data, replace; (note: file ../temp/MARSTAT-KEY_data.dta not found) file ../temp/MARSTAT-KEY_data.dta saved . end of do-file . do raw2dta_EMPLOYERS_ALL_TENURE.do; . /********************************************************************* > Program: raw2dta_EMPLOYERS_ALL_TENURE.do > Purpose: refers to variable name in NLSY79 data. > > Date Started: 9 Dec 2015 > Date Revised: 14 Jul 2016 > *********************************************************************/ . #delimit ; delimiter now ; . clear all; . set mo off; . set scheme s1color; . capture log close;