*********************************************** * This file creates new variables and * generate one of the 2 datafiles that are used * in the empirical analysis: data.dta ************************************************ *capture log close log using data, replace set trace off set more off capture drop _all set mem 100m *set virtual on set matsize 200 ********************************************************* ********************************************************* ********************************************************* * 1990 ********************************************************* ********************************************************* ********************************************************* use D:/drive-e/moretti/Cm/st828792, clear drop if yr ~= 92 ************************************** *CAPITAL is end of the year machine+buildings * (Hellerstein et al. JOLE 99) gen K = mae+bae gen logK = log(K) gen logKsq = logK*logK ************************************** * OUTPUT gen logVA =log(va) *************************************** * LABOR AND WAGES * hours of production workers gen logH1 = log(ph) gen logH1sq = logH1*logH1 * hours of non-production workers * (assuming that per-capita hours are the * same for production and non-production) gen ph2 = (ph/pw)*(te-pw) gen logH2 = log(ph2) gen logH2sq = logH2*logH2 * bodies: non production *gen oe = te-pw * wages *gen w =sw/(ph+ph2) *gen logw= log(w) **************************************** * Interactions gen logK_H1 = logK*logH1 gen logK_H2 = logK*logH2 gen logH1_H2 =logH1*logH2 ********************************************* * Year *gen y87 =0 *replace y87 =1 if yr==87 gen y92 =0 replace y92 =1 if yr==92 * SMSA*Year gen smsa_yea = smsa80*100+yr * State *Year * gen stat_yea = yr*100+fst if yr ~= 87 * tabulate stat_yea, generate(st_yr) *st_yr1-st_yr98 * Industry replace ind2= int(ind/100) * tabulate ind2, generate(in2) * gen ind_yr = ind2*100 + yr if yr ~= 87 & ind2<60 * tabulate ind_yr, generate(ind_yr) * ind_yr1-ind_yr40 * College share gen mcoll6 = (mcoll5 - (obs4/obs5)*mcoll4)/((obs5-obs4)/obs5) if yr==92 replace mcoll6 = (mcoll580 - (obs480/obs580)*mcoll480)/((obs580-obs480)/obs580) if yr==82 gen coll6 = mcoll6 ********************************************** * SAMPLE keep if zeros82 ==0 keep if zeros92 ==0 keep if zeros282==0 keep if zeros292==0 ********************************************** * COVARIATES sort smsa80 merge smsa80 using D:/drive-e/moretti/imported/berkeley/data/covar drop _merge keep if logVA ~=. gen Nblack = black if yr==92 replace Nblack = black80 if yr==82 gen Nsex = sex if yr==92 replace Nsex = sex80 if yr==82 gen Ncitizd = citizd if yr==92 replace Ncitizd = citizd80 if yr==82 *summarize va K , detail *keep if va <3600 if yr==92 *graph va, bin(50) saving(hist75) *gphpen hist75 -deps ********************************************** * H1 H2 H3 H4 sort smsa80 indcen merge smsa80 indcen using D:/drive-e/moretti/imported/medu_l30 keep if logVA ~=. * 2 EDUC GROUPS replace educ4 = educ3+educ4 replace educ480 = educ380 + educ480 g tot = ph+ph2 *g logL = log( exp(0.8*11)*educ1*(tot) + exp(0.8*15)*educ4*(tot) ) if yr ==92 g logL1 = log(educ1*(tot)) if yr ==92 g logL4 = log(educ4*(tot)) if yr ==92 *replace logL = log( exp(0.8*11)*educ180*(tot) + exp(0.8*15)*educ480*(tot) ) if yr ==82 replace logL1 = log(educ180*(tot)) if yr ==82 replace logL4 = log(educ480*(tot)) if yr ==82 replace ind3 = int(ind/10) *********************************************** keep smsa80 logVA medu6 coll6 logL1 logL4 logK mu Nsex Ncitizd Nblack ind ind2 ind3 ppn fid obs30 ow sw ph ph2 te pw fst sort ppn save tmp, replace ********************************************************* ********************************************************* ********************************************************* * 1980 ********************************************************* ********************************************************* ********************************************************* use D:/drive-e/moretti/Cm/st828792, clear drop if yr ~= 82 ************************************** *CAPITAL is end of the year machine+buildings * (Hellerstein et al. JOLE 99) gen K = mae+bae gen logK = log(K) gen logKsq = logK*logK ************************************** * OUTPUT gen logVA =log(va) *************************************** * LABOR AND WAGES * hours of production workers gen logH1 = log(ph) gen logH1sq = logH1*logH1 * hours of non-production workers * (assuming that per-capita hours are the * same for production and non-production) gen ph2 = (ph/pw)*(te-pw) gen logH2 = log(ph2) gen logH2sq = logH2*logH2 * bodies: non production *gen oe = te-pw * wages *gen w =sw/(ph+ph2) *gen logw= log(w) **************************************** * Interactions gen logK_H1 = logK*logH1 gen logK_H2 = logK*logH2 gen logH1_H2 =logH1*logH2 ********************************************* * Year *gen y87 =0 *replace y87 =1 if yr==87 gen y92 =0 replace y92 =1 if yr==92 * SMSA*Year gen smsa_yea = smsa80*100+yr * State *Year * gen stat_yea = yr*100+fst if yr ~= 87 * tabulate stat_yea, generate(st_yr) *st_yr1-st_yr98 * Industry replace ind2= int(ind/100) * tabulate ind2, generate(in2) * gen ind_yr = ind2*100 + yr if yr ~= 87 & ind2<60 * tabulate ind_yr, generate(ind_yr) * ind_yr1-ind_yr40 ********************************************* * College share gen mcoll6 = (mcoll5 - (obs4/obs5)*mcoll4)/((obs5-obs4)/obs5) if yr==92 replace mcoll6 = (mcoll580 - (obs480/obs580)*mcoll480)/((obs580-obs480)/obs580) if yr==82 gen coll680 = mcoll6 ********************************************** * SAMPLE keep if zeros82 ==0 keep if zeros92 ==0 keep if zeros282==0 keep if zeros292==0 ********************************************** * COVARIATES sort smsa80 merge smsa80 using D:/drive-e/moretti/imported/berkeley/data/covar drop _merge keep if logVA ~=. gen Nblack = black if yr==92 replace Nblack = black80 if yr==82 gen Nsex = sex if yr==92 replace Nsex = sex80 if yr==82 gen Ncitizd = citizd if yr==92 replace Ncitizd = citizd80 if yr==82 *summarize va K , detail *keep if va <3600 if yr==92 *graph va, bin(50) saving(hist75) *gphpen hist75 -deps ********************************************** * H1 H2 H3 H4 sort smsa80 indcen merge smsa80 indcen using D:/drive-e/moretti/imported/medu_l30 keep if logVA ~=. * 2 EDUC GROUPS replace educ4 = educ3+educ4 replace educ480 = educ380 + educ480 g tot = ph+ph2 *g logL = log( exp(0.8*11)*educ1*(tot) + exp(0.8*15)*educ4*(tot) ) if yr ==92 g logL1 = log(educ1*(tot)) if yr ==92 g logL4 = log(educ4*(tot)) if yr ==92 *replace logL = log( exp(0.8*11)*educ180*(tot) + exp(0.8*15)*educ480*(tot) ) if yr ==82 replace logL1 = log(educ180*(tot)) if yr ==82 replace logL4 = log(educ480*(tot)) if yr ==82 replace ind3 = int(ind/10) *********************************************** g logVA80 = logVA g logL180 = logL1 g logL480 = logL4 g logK80 = logK g mu80 = mu g Nsex80 = Nsex g Ncitiz80 = Ncitizd g Nblack80 = Nblack g te80 = te g pw80 = pw keep logVA80 medu680 coll680 logL180 logL480 logK80 mu80 Nsex80 Ncitiz80 Nblack80 ppn obs3080 te80 pw80 ppn sort ppn ********************************************************* ********************************************************* ************************************************* * MERGE ************************************************** ********************************************************* ********************************************************* merge ppn using tmp g DlogVA = logVA - logVA80 g Dmedu6 = medu6 - medu680 g Dcoll = coll6 - coll680 g DlogL1 = logL1 - logL180 g DlogL4 = logL4 - logL480 g DlogK = logK - logK80 g DNsex = Nsex - Nsex80 g DNcitizd = Ncitizd - Ncitiz80 g DNblack = Nblack - Nblack80 g Dobs30 = obs30 - obs3080 g Dte = te - te80 summ save data, replace