#delimit ; clear; set more off; set memory 200000; set maxvar 32000; version 9.0; capture: log close; log using "c:\data\psid\eco 721\lab3.log", text replace; /*********************************************************************************/ /* Program: lab3_long_cons_refe.do -- Stata do file to read 1968-87 food cons. */ /* and other data from the PSID, construct inflation adjusted food */ /* cons. measure, and illustrate fixed and random effects models */ /* */ /* Authors: D. Ribar April 2009 */ /*********************************************************************************/ /* Read/input data set */ use "c:\data\psid\eco 721\psid_cons_68_87.dta", clear; /* Sort data by household identifier (int_id) and the observation year */ sort int_id year; /*********************************************************************************/ /* Create analysis measures */ /*********************************************************************************/ /* Create food consumption measure similar to Gruber's (1997) measure; note that */ /* 1968 food consumption measures in PSID are different from subsequent measures */ gen tvrfoodc = tvfhome/tcpifh if year==1968 & tvfhome<.; replace tvrfoodc = (tvfhome + tvfdstmp)/tcpifh + tvfaway/tcpifa if year>1968 & tvfhome<. & tvfdstmp<. & tvfaway<.; gen tvlrfdcn = ln(tvrfoodc) if tvrfoodc<. & tvrfoodc>0; gen tvlrfdnd = ln(tvfdstd/tcpifh); label var tvrfoodc "Real household food consumption"; label var tvlrfdcn "Log real household food consumption"; label var tvlrfdnd "Log real household food needs"; /* Create difference variable using food cons.; note difference can't be defined */ /* until at least the second record and can't be defined for 1974 */ by int_id: generate dlrfdcon = tvlrfdcn - tvlrfdcn[_n-1] if _n>1 & year!=1974 & tvlrfdcn<. & tvlrfdcn[_n-1]<.; label var dlrfdcon "Change in log real food consumption"; /* Create real family income measure */ gen tvrfminc = tvfaminc/tcpi; gen tvlrfmin = ln(tvrfminc); label var tvrfminc "Real family income"; label var tvlrfmin "Log real family income"; /* Create dummy variables corresponding to each year */ tabulate year, ge(yeard) nofreq; /*********************************************************************************/ /* Estimate descriptive statistics */ /*********************************************************************************/ /* Show trends in constructed food consumption and income measures */ table year, contents(n tvrfoodc mean tvrfoodc mean tvrfminc n dlrfdcon mean dlrfdcon); sum; /*********************************************************************************/ /* Estimate and test longitudinal multivariate models */ /*********************************************************************************/ /* Run OLS regression */ reg tvlrfdcn tvlrfmin tvlrfdnd tvcurmar tvnkids; /* Run fixed effects regression */ xtreg tvlrfdcn tvlrfmin tvlrfdnd tvcurmar tvnkids, fe i(int_id); est store fixed; /* Run random effects regression */ xtreg tvlrfdcn tvlrfmin tvlrfdnd tvcurmar tvnkids, re i(int_id); /* Perform Breusch-Pagan test */ xttest0; /* Perform Hausman test */ hausman fixed; log close; clear; #delimit cr