* NOTE: You need to set the Stata working directory to the path * where the data file is located. cd "C:\Users\hamiltmr\Desktop" set more off clear quietly infix /// int year 1-4 /// long serial 5-9 /// float hwtfinl 10-19 /// byte month 20-21 /// float wtfinl 22-31 /// byte age 32-33 /// int educ 34-36 /// using `"cps_00002.dat"' replace hwtfinl = hwtfinl / 10000 replace wtfinl = wtfinl / 10000 format hwtfinl %10.4f format wtfinl %10.4f label var year `"Survey year"' label var serial `"Household serial number"' label var hwtfinl `"Household weight, Basic Monthly"' label var month `"Month"' label var wtfinl `"Final Basic Weight"' label var age `"Age"' label var educ `"Educational attainment recode"' label define hwtfinl_lbl 0000000000 `"0000000000"' label values hwtfinl hwtfinl_lbl label define month_lbl 01 `"January"' label define month_lbl 02 `"February"', add label define month_lbl 03 `"March"', add label define month_lbl 04 `"April"', add label define month_lbl 05 `"May"', add label define month_lbl 06 `"June"', add label define month_lbl 07 `"July"', add label define month_lbl 08 `"August"', add label define month_lbl 09 `"September"', add label define month_lbl 10 `"October"', add label define month_lbl 11 `"November"', add label define month_lbl 12 `"December"', add label values month month_lbl label define age_lbl 00 `"Under 1 year"' label define age_lbl 01 `"1"', add label define age_lbl 02 `"2"', add label define age_lbl 03 `"3"', add label define age_lbl 04 `"4"', add label define age_lbl 05 `"5"', add label define age_lbl 06 `"6"', add label define age_lbl 07 `"7"', add label define age_lbl 08 `"8"', add label define age_lbl 09 `"9"', add label define age_lbl 10 `"10"', add label define age_lbl 11 `"11"', add label define age_lbl 12 `"12"', add label define age_lbl 13 `"13"', add label define age_lbl 14 `"14"', add label define age_lbl 15 `"15"', add label define age_lbl 16 `"16"', add label define age_lbl 17 `"17"', add label define age_lbl 18 `"18"', add label define age_lbl 19 `"19"', add label define age_lbl 20 `"20"', add label define age_lbl 21 `"21"', add label define age_lbl 22 `"22"', add label define age_lbl 23 `"23"', add label define age_lbl 24 `"24"', add label define age_lbl 25 `"25"', add label define age_lbl 26 `"26"', add label define age_lbl 27 `"27"', add label define age_lbl 28 `"28"', add label define age_lbl 29 `"29"', add label define age_lbl 30 `"30"', add label define age_lbl 31 `"31"', add label define age_lbl 32 `"32"', add label define age_lbl 33 `"33"', add label define age_lbl 34 `"34"', add label define age_lbl 35 `"35"', add label define age_lbl 36 `"36"', add label define age_lbl 37 `"37"', add label define age_lbl 38 `"38"', add label define age_lbl 39 `"39"', add label define age_lbl 40 `"40"', add label define age_lbl 41 `"41"', add label define age_lbl 42 `"42"', add label define age_lbl 43 `"43"', add label define age_lbl 44 `"44"', add label define age_lbl 45 `"45"', add label define age_lbl 46 `"46"', add label define age_lbl 47 `"47"', add label define age_lbl 48 `"48"', add label define age_lbl 49 `"49"', add label define age_lbl 50 `"50"', add label define age_lbl 51 `"51"', add label define age_lbl 52 `"52"', add label define age_lbl 53 `"53"', add label define age_lbl 54 `"54"', add label define age_lbl 55 `"55"', add label define age_lbl 56 `"56"', add label define age_lbl 57 `"57"', add label define age_lbl 58 `"58"', add label define age_lbl 59 `"59"', add label define age_lbl 60 `"60"', add label define age_lbl 61 `"61"', add label define age_lbl 62 `"62"', add label define age_lbl 63 `"63"', add label define age_lbl 64 `"64"', add label define age_lbl 65 `"65"', add label define age_lbl 66 `"66"', add label define age_lbl 67 `"67"', add label define age_lbl 68 `"68"', add label define age_lbl 69 `"69"', add label define age_lbl 70 `"70"', add label define age_lbl 71 `"71"', add label define age_lbl 72 `"72"', add label define age_lbl 73 `"73"', add label define age_lbl 74 `"74"', add label define age_lbl 75 `"75"', add label define age_lbl 76 `"76"', add label define age_lbl 77 `"77"', add label define age_lbl 78 `"78"', add label define age_lbl 79 `"79"', add label define age_lbl 80 `"80"', add label define age_lbl 81 `"81"', add label define age_lbl 82 `"82"', add label define age_lbl 83 `"83"', add label define age_lbl 84 `"84"', add label define age_lbl 85 `"85"', add label define age_lbl 86 `"86"', add label define age_lbl 87 `"87"', add label define age_lbl 88 `"88"', add label define age_lbl 89 `"89"', add label define age_lbl 90 `"90 (90+, 1988-2002)"', add label define age_lbl 91 `"91"', add label define age_lbl 92 `"92"', add label define age_lbl 93 `"93"', add label define age_lbl 94 `"94"', add label define age_lbl 95 `"95"', add label define age_lbl 96 `"96"', add label define age_lbl 97 `"97"', add label define age_lbl 98 `"98"', add label define age_lbl 99 `"99+"', add label values age age_lbl label define educ_lbl 000 `"NIU or no schooling"' label define educ_lbl 001 `"NIU"', add label define educ_lbl 002 `"None or preschool"', add label define educ_lbl 010 `"Grades 1, 2, 3, or 4"', add label define educ_lbl 011 `"Grade 1"', add label define educ_lbl 012 `"Grade 2"', add label define educ_lbl 013 `"Grade 3"', add label define educ_lbl 014 `"Grade 4"', add label define educ_lbl 020 `"Grades 5 or 6"', add label define educ_lbl 021 `"Grade 5"', add label define educ_lbl 022 `"Grade 6"', add label define educ_lbl 030 `"Grades 7 or 8"', add label define educ_lbl 031 `"Grade 7"', add label define educ_lbl 032 `"Grade 8"', add label define educ_lbl 040 `"Grade 9"', add label define educ_lbl 050 `"Grade 10"', add label define educ_lbl 060 `"Grade 11"', add label define educ_lbl 070 `"Grade 12"', add label define educ_lbl 071 `"12th grade, no diploma"', add label define educ_lbl 072 `"12th grade, diploma unclear"', add label define educ_lbl 073 `"High school diploma or equivalent"', add label define educ_lbl 080 `"1 year of college"', add label define educ_lbl 081 `"Some college but no degree"', add label define educ_lbl 090 `"2 years of college"', add label define educ_lbl 091 `"Associate's degree, occupational/vocational program"', add label define educ_lbl 092 `"Associate's degree, academic program"', add label define educ_lbl 100 `"3 years of college"', add label define educ_lbl 110 `"4 years of college"', add label define educ_lbl 111 `"Bachelor's degree"', add label define educ_lbl 120 `"5+ years of college"', add label define educ_lbl 121 `"5 years of college"', add label define educ_lbl 122 `"6+ years of college"', add label define educ_lbl 123 `"Master's degree"', add label define educ_lbl 124 `"Professional school degree"', add label define educ_lbl 125 `"Doctorate degree"', add label define educ_lbl 999 `"Missing/Unknown"', add label values educ educ_lbl ********************************************* *** Create phsless and pcollege variables *** ********************************************* keep if (year==2004 & age==51) | (year==2005 & age==51) | (year==2006 & age==51) | /// (year==2007 & age==51) | (year==2008 & age>=23 & age<=51) replace age=age-4 if year==2008 replace age=age-3 if year==2007 replace age=age-2 if year==2006 replace age=age-1 if year==2005 replace year=2055-age sort year gen hsless=0 replace hsless=1 if educ<=072 replace hsless=. if educ==999 gen college=0 replace college=1 if educ>=111 & educ<=125 replace college=. if educ==999 tab hsless college, m r col cell tempfile basefile save `basefile', replace collapse (mean) hsless college, by(year age) gen phsless_04_tmp=hsless if year==2004 egen phsless_04=min(phsless_04_tmp) gen phsless=hsless/phsless_04 gen pcollege_04_tmp=college if year==2004 egen pcollege_04=min(pcollege_04_tmp) gen pcollege=college/pcollege_04 drop *_04_tmp *_04 tempfile unwght save `unwght', replace use `basefile', clear collapse (mean) hsless college [aweight=wtfinl], by(year age) gen phsless_04_tmp=hsless if year==2004 egen phsless_04=min(phsless_04_tmp) gen phsless_weighted=hsless/phsless_04 gen pcollege_04_tmp=college if year==2004 egen pcollege_04=min(pcollege_04_tmp) gen pcollege_weighted=college/pcollege_04 drop *_04_tmp *_04 rename college college_weighted rename hsless hsless_weighted tempfile wght save `wght', replace merge 1:1 year using `unwght' drop _merge lowess hsless year, mean generate(hsless_smooth) lowess college year, mean generate(college_smooth) save CPS_educ.dta, replace