|
stata运行do文件时出现了file C:\Users\~\AppData\Local\Temp\ST_00000002.tmp not found,命令如下:*****Prepare data for calculation of EITC, send to TAXSIM, and createdataset for IV *****Setup *Baseline without state **001 is wage income only **002 is wage plus unearned income **012, 011 include state taxes and credits foreach j in 012 011 211 311 411 511 611 711 { ***KEY to datasets*** *hat=0: real data, hat=4: baseline predicted, hat=2,3 needed for Table 4,hat=5,6,7 needed for Table 5 *state=0: no state tax information calculated, state=1: state taxesincluded *spec=1: excludes unearned income, spec2: includes unearned income local hat=substr("`j'",1,1) local state=substr("`j'",2,1) local spec=substr("`j'",3,1) use main, replace sort idchild year *IMPORTANT NOTE: all income variables are in 1979 dollars, and need to beconverted to nominal dollars before sending through taxsim *(convert to nominal dollars by multiplying by cpily) replace earnincrimp=earnincrimp*cpily replace earnincsimp=earnincsimp*cpily replace earnincrsimp=earnincrsimp*cpily replace unearnincrsimp=unearnincrsimp*cpily replace nontaxincrsimp=nontaxincrsimp*cpily gen pretaxinc=earnincrsimp+unearnincrsimp+nontaxincrsimp *****As needed, make variable changes or sample restrictions *note: one year already subtracted off to reflect that NLSY reports laggedincome gen trend=year-1986 ***Set state variable to missing if necessary (for state=0 samples) replace state=0 if `state'==0 *****Sample restrictions gen samp=1 replace samp = (year==1985|year==1987|year==1989|year==1991|year==1993|year==1995|year==1997|year==1999)& (piamatsn!=. | piarecsn!=. | piarersn!=.) if `hat'==2 | `hat'==3 |`hat'==4 | `hat'==5 replace samp = samp |(year==1988|year==1990|year==1992|year==1994|year==1996|year==1998) if `hat'==6| `hat'==7 sort idchild year xtset idchild year, yearly delta(1) *create variables for SIV and to define sample gen test=(2.295/(10000*cpily))*earnincrsimp gen x0=L2.test==0 gen x1=L2.test gen x2=x1^2 gen x3=x1^3 gen x4=x1^4 gen x5=x1^5 gen getdiv02=marrlyimp==0 & (L1.marrlyimp==1|L2.marrlyimp==1) gen getmarr02=marrlyimp==1 & (L1.marrlyimp==0|L2.marrlyimp==0) gen flag1 = (2.295/(10000*cpily))*pretaxinc<10 &(2.295/(10000*L2.cpily))*L2.pretaxinc<10 gen flag = year>=1989 & !getmarr02 & !getdiv02 & flag1 if`hat'==2 | `hat'==3 | `hat'==4 | `hat'==6 | `hat'==7 replace flag = year>=1987 & !getmarr02 & !getdiv02 & flag1if `hat'==5 keep if samp *drop poor oversample keep if ((samprandom&sampnm)|sampnmblack|sampnmhisp) | (year==1994|year==1996|year==1998) *****Get predicted income *Need to have earned income (for eitc credit) and unearned income (forlocation on eitc schedule) gen earninc=. gen unearninc=. *Use actual data (for hat=0 samples) replace earninc=earnincrsimp if `hat'==0 replace unearninc=unearnincrsimp if `hat'==0 *year trend if `hat'==2 { reg test x0 x1 x2 x3 x4 x5 trend ifsamp & flag predict earninchat if samp &flag replaceearninc=earninchat*((10000*cpily)/2.295) if samp & flag } *year dummies if `hat'==3 { reg test x0 x1 x2 x3 x4 x5 yy* ifsamp & flag predict earninchat if samp &flag replaceearninc=earninchat*((10000*cpily)/2.295) if samp & flag } *baseline if `hat'==4 { reg test x0 x1 x2 x3 x4 x5 if samp& flag predict earninchat if samp &flag replaceearninc=earninchat*((10000*cpily)/2.295) if samp & flag } *for Table 5 if `hat'==5 { gen f0=F2.test==0 gen f1=F2.test gen f2=f1^2 gen f3=f1^3 gen f4=f1^4 gen f5=f1^5 reg test f0 f1 f2 f3 f4 f5 if samp& flag predict earninchat if samp &flag replaceearninc=earninchat*((10000*cpily)/2.295) if samp & flag } *for Table 5 if `hat'==6 { gen f0=L1.test==0 gen f1=L1.test gen f2=f1^2 gen f3=f1^3 gen f4=f1^4 gen f5=f1^5 reg test f0 f1 f2 f3 f4 f5 if samp& flag & (year==1987|year==1989|year==1991|year==1993|year==1995|year==1997|year==1999)& (piamatsn!=. | piarecsn!=. | piarersn!=.) predict earninchat if samp &flag replaceearninc=earninchat*((10000*cpily)/2.295) if samp & flag } *for Table 5 if `hat'==7 { gen f0=F1.test==0 gen f1=F1.test gen f2=f1^2 gen f3=f1^3 gen f4=f1^4 gen f5=f1^5 reg test f0 f1 f2 f3 f4 f5 if samp& flag &(year==1987|year==1989|year==1991|year==1993|year==1995|year==1997|year==1999)& (piamatsn!=. | piarecsn!=. | piarersn!=.) predict earninchat if samp &flag replaceearninc=earninchat*((10000*cpily)/2.295) if samp & flag } gen oldyear=year *****Replace pwages and ui with predicted values earninc and unearninc andsave pre-eitc dataset replace swages=0 replace pwages=earninc replace ui=unearninc *Set non-wage income (unearnincrsimp, which we are feeding through taxsimas "ui") equal to zero if necessary (for spec=1 samples) replace ui=0 if `spec'==1 drop earninc unearninc *Save pre-eitc master dataset, using real data, for later merging in futureprogram if "`j'"=="012" { save preeitcinput, replace } keep idchild cpily year state mstat depx agex pwages swages dividendsotherprop pensions gssi transfers rentpaid proptax otheritem childcare uidepchild mortgage stcg ltcg oldyear *Note: don't send idchild to taxsim if using state identifiers *****Send data to TAXSIM and get after tax income and EITC taxsim9, replace full replace year=oldyear sort idchild year save taxsimout`j', replace } *****Now rename taxsim variables and merge taxsim datasets together *****Rename variables from taxsim output local datasets 012 011 211 311 411 511 611 711 foreach i of local datasets { use taxsimout`i', replace rename v10 fedagi rename v25 eitc rename v28 fedinctax rename v39 stateeitc rename v40 statetotcredit keep idchild year fedagi eitcfedinctax stateeitc statetotcredit siitax cpily pwages otherprop *Put dollar values back in realterms (2000 dollars, so divide by cpily and multiply by 2.295) and divide allmonetary variables by 10,000 local vars "fedagi eitcfedinctax stateeitc statetotcredit siitax pwages" foreach var of varlist `vars' { qui replace `var' =`var'*(2.295/(10000*cpily)) } *Create income variables geninc=fedagi-fedinctax-siitax+statetotcredit gen incnotax=pwages+eitc gen tax=fedagi-eitc *rename variables with appropriateextension local vars "fedagi eitcfedinctax stateeitc statetotcredit siitax pwages inc incnotax tax" foreach var of varlist `vars' { rename `var' `var'`i' } save taxsim`i', replace } *****Merge all datasets together *Start with preeitcinput for real data use preeitcinput, replace sort idchild year foreach dataset of local datasets { merge idchild year usingtaxsim`dataset' tab _merge drop _merge sort idchild year } *Now for additional variables, put back in real terms (into 2000 dollars,so divide by cpily and multiply by 2.295) and divide all monetary variables by10,000 local vars "ui otherpropnontaxincrsimp earnincrsimp unearnincrsimp" foreach var of varlist `vars' { replace `var' =`var'*(2.295/(10000*cpily)) } *Now for some variables, put into year 2000 dollars in real terms (convertfrom 1979 dollars to 2000 dollars, so multiply by 2.295) and divide allmonetary variables by 10,000 local vars "totweadimp2" foreach var of varlist `vars' { replace `var' =`var'/(10000*(1/2.295)) } save taxsim-merged, replace
求大神解决,谢谢!!!
|