cd "folder" set matsize 4000 set mem 450m use china_smuggling_final, clear ***distribution of missing imports graphs sum applied_tariff, detail twoway (kdensity missing_import_value if applied_tariff>=20 & applied_tariff!=.) (kdensity missing_import_value if applied_tariff<20), scheme(s1color) twoway (kdensity missing_import_qty if applied_tariff>=20 & applied_tariff!=.) (kdensity missing_import_qty if applied_tariff<20 ), scheme(s1color) ***missing imports by country gen missing_import_high=export_value-import_value if applied_tariff>=20 & applied_tariff!=. gen missing_import_low=export_value-import_value if applied_tariff<20 & applied_tariff!=. bys partner_code: egen tot_missing_high= total(missing_import_high) bys partner_code: egen tot_missing_low= total(missing_import_low) collapse tot_missing_high tot_missing_low, by(partner) *copy the dataset to excel and prepare table use china_smuggling_final, clear ***summary statistics *stats value *drop obs that won't be used in value regression drop if missing_import_v!=. | applied_tariff!=. tabstat export_value import_value missing_import_v applied_tariff, /// statistics(count mean p50 sd min max) columns(stat) *stats quantities use china_smuggling_final, clear *drop obs that won't be used in qty regression drop if missing_import_qty==. | applied_tariff==. tabstat export_quantity import_quantity missing_import_qty, /// statistics(count mean p50 sd min max) columns(stat) *consider obs only when won't be dropped in regressions use china_smuggling_clear, clear drop if (missing_import_v==. & missing_import_qty==.) | applied_tariff==. gen chi_share= chinese/pop collapse chinese chi_share corruption, by(partner_c) tabstat chinese chi_share corruption, statistics(count mean p50 sd min max) columns(stat) ************************************************************************************************ ***************************** REGRESSION ANALYSIS ********************************************** ************************************************************************************************ use china_smuggling_final, clear *drop obs which will never be used in any regression, to limit size drop if (missing_import_v==. & missing_import_qty==.) | applied_tariff==. save china_smuggling_final, replace ***country by country graph (values)**** ssc install parmest, replace parmby "reg missing_import_v applied_tariff, robust", /// by(partner_code) saving(china_value_bycountry_beta, replace) clear use china_value_bycountry_beta, clear drop if parmseq==2 merge 1:m partner_code using china_smuggling_final, keepusing(log_chinese log_chinese_share) generate(_merge_beta) drop if _merge_beta==2 collapse estimate dof p log_chinese log_chinese_share, by(partner_c) save china_value_bycountry_beta, replace twoway (scatter estimate log_chinese if dof>70 & p>0.05, mcolor(gray) mlabel(partner) mlabcolor(gray)) /// (scatter estimate log_chinese if dof>70 & p<=0.05 , mcolor(green) msymbol(square) mlabel(partner) mlabcolor(green)) /// (lfit estimate log_chinese if dof>70 ), scheme(s1color) legend(order(1 "Insignificant at 5% level" 2 "Significant at 5% level")) /// ytitle(Marginal effect of tariffs on missing_imports (values) by country, justification(right) alignment(middle)) twoway (scatter estimate log_chinese_share if dof>70 & p>0.05, mcolor(gray) mlabel(partner) mlabcolor(gray)) /// (scatter estimate log_chinese_share if dof>70 & p<=0.05, mcolor(green) msymbol(square) mlabel(partner) mlabcolor(green)) /// (lfit estimate log_chinese_share if dof>70), scheme(s1color) legend(order(1 "Insignificant at 5% level" 2 "Significant at 5% level")) /// ytitle(Marginal effect of tariffs on missing_imports (values) by country, justification(right) alignment(middle)) ***graphs are similar ***country by country graph (quantities)**** use china_smuggling_final, clear parmby "reg missing_import_qty applied_tariff, robust", /// by(partner_code) saving(china_qty_bycountry_beta, replace) clear use china_qty_bycountry_beta, clear drop if parmseq==2 merge 1:m partner using china_smuggling_final, keepusing(log_chinese log_chinese_share) generate(_merge_beta) drop if _merge_beta==2 collapse estimate dof p log_chinese log_chinese_share, by(partner_c) save china_qty_bycountry_beta., replace twoway (scatter estimate log_chinese if dof>70 & p>0.05, mcolor(gray) mlabel(partner) mlabcolor(gray)) /// (scatter estimate log_chinese if dof>70 & p<=0.05, mcolor(green) msymbol(square) mlabel(partner) mlabcolor(green)) /// (lfit estimate log_chinese if dof>70), scheme(s1color) legend(order(1 "Insignificant at 5% level" 2 "Significant at 5% level")) /// ytitle(Marginal effect of tariffs on missing_imports (quantities) by country, justification(right) alignment(middle)) twoway (scatter estimate log_chinese_share if dof>70 & p>0.05, mcolor(gray) mlabel(partner) mlabcolor(gray)) /// (scatter estimate log_chinese_share if dof>70 & p<=0.05, mcolor(green) msymbol(square) mlabel(partner) mlabcolor(green)) /// (lfit estimate log_chinese_share if dof>70), scheme(s1color) legend(order(1 "Insignificant at 5% level" 2 "Significant at 5% level")) /// ytitle(Marginal effect of tariffs on missing_imports (quantities) by country, justification(right) alignment(middle)) ***graphs are similar ***interaction results - MAIN table use china_smuggling_final, clear *value regressions *ssc install xtivreg2 drop idee egen cty=group(partner_code) foreach x in MFN_chinese MFN_chinese_share { ***partner fe areg missing_import_v applied_tariff `x', absorb(partner_code) cluster(product) est store ctyfe_`x' *** partner_hs4 fe (not to be reported) *areg missing_import_v applied_tariff `x', absorb(partner_hs4) cluster(product) *outreg2 using china_main.xls, append *** partner and product fe xi: areg missing_import_v `x' i.partner_code, absorb(product) cluster(product) est store ctyprfe_`x' } *quantities regressions foreach x in MFN_chinese MFN_chinese_share { ***partner fe areg missing_import_qty applied_tariff `x', absorb(partner_code) cluster(product) est store ctyfeq_`x' *** partner_hs4 fe (not to be reported) *areg missing_import_qty applied_tariff `x', absorb(partner_hs4) cluster(product) *outreg2 using china_main.xls, append *** partner and product fe xi: areg missing_import_qty `x' i.partner_code, absorb(product) cluster(product) est store ctyprfeq_`x' } *export esttab ctyfe* ctyprfe* using mainchina, b(a2) se(a2) csv noisily noconstant star(* 0.10 ** 0.05 *** 0.01) /// r2 label alignment(l) mtitles drop(_I*) replace ***grinter areg missing_import_v applied_tariff MFN_chinese, absorb(partner_code) cluster(product) collapse log_chinese missing_import_v applied_t MFN_chinese, by (partner_code) findit grinter *install the command grinter applied_t, inter(MFN_chinese) const02(log_chinese) scheme(s1color) kdensity clevel(95) yline(0) *grinter q use china_smuggling_final, clear areg missing_import_qty applied_tariff MFN_chinese, absorb(partner_code) cluster(product) collapse log_chinese missing_import_qty applied_t MFN_chinese, by (partner_code) grinter applied_t, inter(MFN_chinese) const02(log_chinese) scheme(s1color) kdensity clevel(95) yline(0) *grinter v sh use china_smuggling_final, clear areg missing_import_v applied_tariff MFN_chinese_share, absorb(partner_code) cluster(product) collapse log_chinese_share missing_import_v applied_t MFN_chinese_share, by (partner_code) grinter applied_t, inter(MFN_chinese_share) const02(log_chinese_share) scheme(s1color) kdensity clevel(95) yline(0) *grinter q sh use china_smuggling_final, clear areg missing_import_qty applied_tariff MFN_chinese_share, absorb(partner_code) cluster(product) collapse log_chinese_share missing_import_qty applied_t MFN_chinese_share, by (partner_code) grinter applied_t, inter(MFN_chinese_share) const02(log_chinese_share) scheme(s1color) kdensity clevel(95) yline(0) *** check: do the grinter manually use china_smuggling_final, clear areg missing_import_v applied_tariff MFN_chinese, absorb(partner_code) cluster(product) matrix b=e(b) matrix V=e(V) scalar b1=b[1,1] scalar b2=b[1,2] scalar varb1=V[1,1] scalar varb2=V[2,2] scalar covb1b2=V[1,2] gen beta=b1 + log_chinese* b2 gen se=sqrt(varb1+ varb2*(log_chinese^2) + 2*(log_chinese)*covb1b2) gen upper=beta+1.96*se gen lower=beta-1.96*se collapse log_chinese beta upper lower, by (partner_c) graph twoway (line beta log_chinese) (scatter lower log_chinese) (scatter upper log_chinese) (kdensity log_chinese, yaxis(2)), scheme(s1color) *********************************************************************************** *************************MISREPORTING********************************************** *********************************************************************************** use china_smuggling_final, clear ***interacted with spread findit xi3 *install xi3 *shorten var names rename av_tariff_hs4 av_tariff rename wtav_tariff_hs4 wtav_tariff rename min_tariff_hs4_other min_tariff_other rename wtav_tariff_hs4_qty wtav_tariff_qty foreach x in av_tariff wtav_tariff min_tariff_other dev_mean_tariff dev_min_tariff { areg missing_import_v applied_tariff `x', absorb(partner_code) cluster(product) est store mis_`x' } foreach x in av_tariff wtav_tariff_qty min_tariff_other dev_mean_tariff dev_min_tariff { areg missing_import_qty applied_tariff `x', absorb(partner_code) cluster(product) est store misq_`x' } foreach x in av_tariff*spread_hs4 wtav_tariff*spread_hs4 min_tariff_other*spread_hs4 { xi3: areg missing_import_v applied_tariff `x', absorb(partner_code) cluster(product) } foreach x in av_tariff*spread_hs4 wtav_tariff_qty*spread_hs4 min_tariff_other*spread_hs4 { xi3: areg missing_import_qty applied_tariff `x', absorb(partner_code) cluster(product) } *shorten name rename log_chinese chi rename log_chinese_share sh_chi ***misreporting table xi3: areg missing_import_v applied_tariff av_tariff, absorb(partner_code) cluster(product) outreg2 using misrep_china.xls, replace xi3: areg missing_import_qty applied_tariff av_tariff, absorb(partner_code) cluster(product) outreg2 using misrep_china.xls xi3: areg missing_import_v applied_tariff av_tariff*spread_hs4, absorb(partner_code) cluster(product) outreg2 using misrep_china.xls xi3: areg missing_import_qty applied_tariff av_tariff*spread_hs4, absorb(partner_code) cluster(product) outreg2 using misrep_china.xls xi3: areg missing_import_v applied_tariff*chi av_tariff*chi, absorb(partner_code) cluster(product) outreg2 using misrep_china.xls xi3: areg missing_import_qty applied_tariff*chi av_tariff*chi, absorb(partner_code) cluster(product) outreg2 using misrep_china.xls xi3: areg missing_import_v applied_tariff*sh_chi av_tariff*sh_chi, absorb(partner_code) cluster(product) outreg2 using misrep_china.xls xi3: areg missing_import_qty applied_tariff*sh_chi av_tariff*sh_chi, absorb(partner_code) cluster(product) outreg2 using misrep_china.xls ***grinter gen av_spread= spread_hs4*av_tariff areg missing_import_q applied_tariff av_tariff spread_hs4 av_spread, absorb(partner_c) cluster(product) grinter av_tariff, inter(av_spread) const02(spread_hs4) scheme(s1color) clevel(90) kdensity yline(0) *av_tariff has no significant effect sum spread_hs4, detail *********************************************************************************** *************************UNIT PRICES REGRESSIONS*********************************** *********************************************************************************** gen unit_price_diff=ln( export_value/ export_quantity)-ln( import_value/ import_quantity) if qty_unitexports_partner == qty_unitimports_china xi3: areg unit_price_diff applied_tariff , absorb(partner_code) cluster(product) outreg2 using unit.xls, replace xi3: areg unit_price_diff applied_tariff*chi, absorb(partner_code) cluster(product) outreg2 using unit.xls xi3: areg unit_price_diff applied_tariff*sh_chi, absorb(partner_code) cluster(product) outreg2 using unit.xls *************************************************************** *******************RAUCH INTERACTIONS************************** *************************************************************** merge m:1 product using RauchHS96.dta drop if _merge==2 gen ref=0 replace ref=1 if con=="r" & lib=="r" gen homo=0 replace homo=1 if con=="w" & lib=="w" gen non_diff=0 replace non_diff=1 if homo==1 replace non_diff=1 if ref==1 xi3: areg missing_import_v tariff*non_diff , absorb(partner_code) cluster(product) est store rauch xi3: areg missing_import_q tariff*non_diff , absorb(partner_code) cluster(product) est store rauchq *rename applied_tariff tariff /*shorten for interaction*/ foreach x in chi sh_chi { xi3: areg missing_import_v tariff*non_diff tariff*`x'*non_diff `x'*non_diff, absorb(partner_code) cluster(product) est store rauch_`x' xi3: areg missing_import_q tariff*non_diff tariff*`x'*non_diff `x'*non_diff, absorb(partner_code) cluster(product) est store rauchq_`x' } drop _I* xi3 tariff*non_diff tariff*chi*non_diff chi*non_diff /*need to do this way for collinearity problems*/ xi: areg missing_import_v _Ita* _Ich* i.partner_code, absorb(product) cluster(product) est store rauch2way_chi xi3 tariff*non_diff tariff*chi*non_diff chi*non_diff xi: areg missing_import_qty _Ita* _Ich* i.partner_code, absorb(product) cluster(product) est store rauchq2way_chi drop _I* xi3 tariff*non_diff tariff*sh_chi*non_diff sh_chi*non_diff /*need to do this way for collinearity problems*/ xi: areg missing_import_v _Ita* _Ish* i.partner_code, absorb(product) cluster(product) est store rauch2way_sh_chi xi3 tariff*non_diff tariff*sh_chi*non_diff sh_chi*non_diff xi: areg missing_import_qty _Ita* _Ish* i.partner_code, absorb(product) cluster(product) est store rauchq2way_sh_chi *export esttab rauch* using rauch, b(a2) se(a2) csv noisily noconstant star(* 0.10 ** 0.05 *** 0.01) /// r2 alignment(l) mtitles drop(_Ipartner*) replace *************************************************************** *******************ADDITIONAL INTERACTIONS********************* *************************************************************** drop _I* gen ln_dist=ln(dist) replace ln_dist=0 if border==1 gen ln_trade=ln(trade) sum GDP GDPPC ln_dist ln_trade gen log_GDP=ln(GDP) gen log_GDPPC=ln(GDPPC) gen ln_gendist1=ln(1+fst_index) gen ln_gendist2=ln(1+nei_index) gen ln_manushare=ln(manu_share) ********Standardized beta coef********* ***create stand. vars global list "tariff chi sh_chi ln_dist log_GDP log_GDPPC border corruption ln_trade ln_gendist1 ln_gendist2" foreach x of global list { egen st_`x'=std(`x') } global placebo "st_chi st_sh_chi st_ln_dist st_log_GDP st_log_GDPPC st_border st_corruption st_ln_trade st_ln_gendist1 st_ln_gendist2" foreach x of global placebo { egen int_`x'=std(`x'*st_applied_tariff) } global inter "int_st_ln_dist int_st_log_GDP int_st_log_GDPPC int_st_border int_st_corruption int_st_ln_trade int_st_ln_gendist1 int_st_ln_gendist2" foreach x of global inter { areg missing_import_v st_applied_tariff `x', absorb(partner_code) cluster(product) areg missing_import_qty st_applied_tariff `x', absorb(partner_code) cluster(product) areg missing_import_v st_applied_tariff `x' int_st_chi, absorb(partner_code) cluster(product) areg missing_import_qty st_applied_tariff `x' int_st_chi, absorb(partner_code) cluster(product) } *all interactions together: only thing to be reported *do not use gendist1 drop int_* st_* foreach x in chi sh_chi ln_dist log_GDP log_GDPPC border corruption ln_trade ln_gendist2 { egen z_`x'=std(tariff*`x') } foreach x in v qty { xi: areg missing_import_`x' z_chi z_l* z_border z_corr* i.partner_code, absorb(product) cluster(product) est store placebo_`x'chi xi: areg missing_import_`x' z_sh_chi z_l* z_border z_corr* i.partner_code, absorb(product) cluster(product) est store placebo_`x'sh } *with manufacturing share of gdp egen z_lmanushare=std(tariff*ln_manushare) foreach x in v qty { xi: areg missing_import_`x' z_chi z_l* z_border z_corr* i.partner_code, absorb(product) cluster(product) est store placebo_`x'chiman xi: areg missing_import_`x' z_sh_chi z_l* z_border z_corr* i.partner_code, absorb(product) cluster(product) est store placebo_`x'shman } *export esttab placebo* using placebo, b(a2) se(a2) csv noisily noconstant star(* 0.10 ** 0.05 *** 0.01) /// r2 alignment(l) mtitles drop(_Ipartner*) replace ******************************************** **********first-difference with 90's******** ******************************************** use china_smuggling_final9405, replace *first-difference specification foreach x in d_missing_import_v d_missing_import_qty { areg `x' d_tariff, absorb(partner_code) cluster(product) est store t_`x' areg `x' d_tariff d_MFN_chinese, absorb(partner_code) cluster(product) est store ch_`x' } *with chinese share foreach x in d_missing_import_v d_missing_import_qty { areg `x' d_tariff d_MFN_chinese_sh, absorb(partner_code) cluster(product) est store chs_`x' } *run only on 1994 *d_tariff coefficient are negative and significant: look at grinter *areg d_missing_import_v d_tariff d_MFN_chinese, absorb(partner_code) cluster(product) *collapse d_chinese d_missing_import_v d_tariff d_MFN_chinese, by (partner_code) *grinter d_tariff, inter(d_MFN_chinese) const02(d_chinese) scheme(s1color) kdensity clevel(90) yline(0) *it never becomes positive *use china_smuggling_final9405, clear *areg d_missing_import_qty d_tariff d_MFN_chinese, absorb(partner_code) cluster(product) *collapse d_chinese d_missing_import_qty d_tariff d_MFN_chinese, by (partner_code) *grinter d_tariff, inter(d_MFN_chinese) const02(d_chinese) scheme(s1color) kdensity clevel(90) yline(0) *it never becomes positive *evasion regression year by year *use china_smuggling_final9405, clear xi: areg missing_import_value1994 applied_tariff1994 MFN_chinese1994 i.partner_code, absorb(product) cluster(product) est store t94_ch xi: areg missing_import_value1994 applied_tariff1994 MFN_chinese90_sh i.partner_code, absorb(product) cluster(product) est store t94_chsh xi: areg missing_import_qty1994 applied_tariff1994 MFN_chinese1994 i.partner_code, absorb(product) cluster(product) est store t94_chq xi: areg missing_import_qty1994 applied_tariff1994 MFN_chinese90_sh i.partner_code, absorb(product) cluster(product) est store t94_chshq *export esttab t* ch* t94* using difference, b(a2) se(a2) csv noisily noconstant star(* 0.10 ** 0.05 *** 0.01) /// r2 alignment(l) mtitles drop(_Ipartner*) replace ******************************************* **********PANEL REGRESSIONS**************** ******************************************* use china_smuggling_final0008, clear foreach x in chinese chinese_share { *country-product and year fe xtset ctyprod year xi: xtreg missing_import_v applied_tariff MFN_`x' i.year, fe cluster(ctyprod) est store v_`x' xi: xtreg missing_import_qty applied_tariff MFN_`x' i.year if qty_unitimports_china==qty_unitexports_partner, fe cluster(ctyprod) est store qty_`x' *full set: cty-prod, cty-year, prod-year fe xtset ctyprod ctyear xi: xtreg missing_import_v applied_tariff MFN_`x' i.ctyear i.prodyear, fe cluster(ctyprod) est store v_`x'_full xi: xtreg missing_import_qty applied_tariff MFN_`x' i.ctyear i.prodyear if qty_unitimports_china==qty_unitexports_partner, fe cluster(ctyprod) est store v_`x'_full } *export esttab v_* qty_* using panel, b(a2) se(a2) csv noisily noconstant star(* 0.10 ** 0.05 *** 0.01) /// r2 alignment(l) mtitles drop(_I*) replace ******************************************** ***************PARTNERS' SIDE*************** ******************************************** *** sum stats table use partner_smuggling_final, replace tabstat china_exports partner_imports missing_import_value partner_tariff if missing_import_value!=. | partner_tariff!=., statistics( count mean p50 sd min max ) columns(stat) tabstat china_exports_qty partner_imports_qty missing_import_qty partner_tariff if missing_import_qty!=. | partner_tariff!=., statistics( count mean p50 sd min max ) columns(stat) ***Table 9 *set mem 700m *set maxvar 5000 *set matsize 5000 egen cty=group(partner_code) foreach x in chinese share { areg missing_import_v partner_tariff tariff_`x' tariff_corruption tariff_three_`x', absorb(partner_code) cluster(product) est store partner_`x' xi: areg missing_import_v tariff_`x' tariff_corruption tariff_three_`x' i.partner_code, absorb(product) cluster(product) est store partner2way_`x' areg missing_import_qty partner_tariff tariff_`x' tariff_corruption tariff_three_`x', absorb(partner_code) cluster(product) est store partnerq_`x' xi: areg missing_import_qty tariff_`x' tariff_corruption tariff_three_`x' i.partner_code, absorb(product) cluster(product) est store partner2wayq_`x' } *export esttab partner* using mainpartner, b(a2) se(a2) csv noisily noconstant star(* 0.10 ** 0.05 *** 0.01) /// r2 alignment(l) mtitles drop(_Ipartner*) replace ***Table 10 use partner_smuggling_final, replace gen chi=log_chinese gen corr=corruption gen t=partner_tariff gen av_t=av_tariff_hs4 bys partner_code hs4: egen max=max(partner_tariff) bys partner_code hs4: egen min=min(partner_tariff) gen spread=max-min xtset idee product xi3: areg missing_import_v t av_t , absorb(idee) cluster(product) outreg2 using partners.xls, replace xi3: areg missing_import_v t av_t*spread , absorb(idee) cluster(product) outreg2 using partners.xls xi3: areg missing_import_v t*chi*corr av_t*chi*corr*spread , absorb(idee) cluster(product) outreg2 using partners.xls xi3: areg missing_import_q t av_t, absorb(idee) cluster(product) outreg2 using partners.xls xi3: areg missing_import_q t av_t*spread , absorb(idee) cluster(product) outreg2 using partners.xls xi3: areg missing_import_q t*chi*corr av_t*chi*corr*spread , absorb(idee) cluster(product) outreg2 using partners.xls ***Figure 4 - lower panel areg missing_import_value partner_tariff tariff_chinese tariff_corruption tariff_three_chinese , absorb(partner_code) cluster(product) matrix b=e(b) scalar b1=b[1,1] scalar b2=b[1,2] scalar b3=b[1,3] scalar b4=b[1,4] scalar list b1 b2 b3 b4 matrix V=e(V) scalar varb1=V[1,1] scalar varb2=V[2,2] scalar varb3=V[3,3] scalar varb4=V[4,4] scalar covb1b2=V[1,2] scalar covb1b3=V[1,3] scalar covb1b4=V[1,4] scalar covb2b3=V[2,3] scalar covb2b4=V[2,4] scalar covb3b4=V[3,4] collapse log_chinese corruption, by (partner) gen mfx=b1+ log_chinese*b2+ corruption*b3+log_chines*corruption*b4 gen mfx_high=b1+ log_chinese*b2+ (1)*b3+log_chines*(1)*b4 gen mfx_mid=b1+ log_chinese*b2+ (0)*b3+log_chines*(0)*b4 gen mfx_low=b1+ log_chinese*b2+ (-1)*b3+log_chines*(-1)*b4 gen conse=sqrt(varb1 + varb2*(log_chinese^2) + varb3*(corruption^2) + varb4*(log_chinese^2)*(corruption^2) + 2*log_chinese*covb1b2 + 2*corruption*covb1b3 + 2*log_chinese*corruption*covb1b4 + 2*log_chinese*corruption*covb2b3 + 2*corruption*(log_chinese^2)*covb2b4 + 2*(corruption^2)*log_chinese*covb3b4) gen conse_high=sqrt(varb1 + varb2*(log_chinese^2) + varb3*((1)^2) + varb4*(log_chinese^2)*((1)^2) + 2*log_chinese*covb1b2 + 2*(1)*covb1b3 + 2*log_chinese*(1)*covb1b4 + 2*log_chinese*(1)*covb2b3 + 2*(1)*(log_chinese^2)*covb2b4 + 2*((1)^2)*log_chinese*covb3b4) gen conse_mid=sqrt(varb1 + varb2*(log_chinese^2) + varb3*((0)^2) + varb4*(log_chinese^2)*((0)^2) + 2*log_chinese*covb1b2 + 2*(0)*covb1b3 + 2*log_chinese*(0)*covb1b4 + 2*log_chinese*(0)*covb2b3 + 2*(0)*(log_chinese^2)*covb2b4 + 2*((0)^2)*log_chinese*covb3b4) gen conse_low=sqrt(varb1 + varb2*(log_chinese^2) + varb3*((-1)^2) + varb4*(log_chinese^2)*((-1)^2) + 2*log_chinese*covb1b2 + 2*(-1)*covb1b3 + 2*log_chinese*(-1)*covb1b4 + 2*log_chinese*(-1)*covb2b3 + 2*(-1)*(log_chinese^2)*covb2b4 + 2*((-1)^2)*log_chinese*covb3b4) gen t_mid=mfx_mid/conse_mid gen t_low=mfx_low/conse_low gen t_high=mfx_high/conse_high gen t= mfx/ conse gen consbhigh=mfx_high gen consbmid=mfx_mid gen consblow=mfx_low replace consbhigh = . if abs(t_high)<1.96 replace consbmid = . if abs(t_mid)<1.96 replace consblow = . if abs(t_low)<1.96 gen str1 txt="*" twoway (line mfx_high log_chinese, clpattern(solid) clwidth(thin) ) ( scatter consbhigh /// log_chinese, mlabel(txt) msymbol(i) mlabsize(vsmall) mlabgap(-1.0) mlabposition(11) ) ( /// line mfx_mid log_chinese, clpattern(solid) clwidth(thin)) ( scatter consbmid log_chinese, /// mlabel(txt) msymbol(i) mlabsize(vsmall) mlabgap(-1.0) mlabposition(11)) (line mfx_low log_chinese, /// clpattern(solid) clwidth(thin)) ( scatter consblow log_chinese, mlabel(txt) msymbol(i) mlabsize(vsmall) /// mlabgap(-1.0) mlabposition(11)), scheme (s1color) ***Figure 4 - top panel ***OPEN MATLAB ***[p, c] = meshgrid([-2.5:.1:1.5],[0:.5:15]) ***ENTER THE VALUES copied from "scalar list b1 b2 b3 b4": ***mfx= b1 + b2 *c +b3 *p +p.*c* b4 ***mesh (c,p,mfx)