*--------------- First the work directory is set ------------------------- clear all cd"C:\Users\juanq\OneDrive\Documentos\Paper Innovación\Biprobit" * Now database is loaded * Build the short database; now, the original is loaed use Base_innova_full2 * Drop the observations corresponding to firms either being a university or without employees. drop if total_empleados == 0 | id_b == 25734 * Merge with the propensity score merge 1:1 id_b using psw_modelo_test1_stata.dta drop _merge *------------------------------------------------------------------------------- * Generation of the variables * Employees scale is changed gen t_emp1000 =total_empleados/1000 ** Finance in dollars * Totals are in miles gen finan_publ_mil = finan_publ*1000 *IPC 2015=0.044 *IPC 2016=0.027 *Base price index 2016=0.61 *Average price dollars 2016 = 677 gen fin_pub_dolar = finan_publ_mil/677 * Generation of innovation types gen clas_innov = cond(innov_tec==1 & innov_notec==1, 1, cond(innov_tec==1 & /// innov_notec==0, 2, cond(innov_tec==0 & innov_notec==1, 3, 4))) *Label label define dfinan_publ1 0 "Does not receive direct transfer" /// 1 "Receives direct transfer" label values dfinan_publ dfinan_publ1 label define ben_trib1 0 "Does not receive tax incentive" /// 1 "Receives tax incentive" label values ben_trib ben_trib1 label define clas_innov1 1 "Techno and Non-Techno Innovation" /// 2 "Techno Innovation" 3 "Non-Techno Innovation" 4 "No Innovation" label values clas_innov clas_innov1 ******************** Balance analysis for PSW ****************************** ***** Table 6A * Without PSW balance reg total_empleados dfinan_publ reg edad_empresa dfinan_publ probit pge dfinan_publ probit dep_id dfinan_publ probit col_insp dfinan_publ probit col_univ dfinan_publ probit col_prov dfinan_publ * Without PSW balance with factor expansion *reg total_empleados dfinan_publ [pweight=fe_empresasx] *reg edad_empresa dfinan_publ [pweight=fe_empresasx] *probit pge dfinan_publ [pweight=fe_empresasx] *probit dep_id dfinan_publ [pweight=fe_empresasx] *probit col_insp dfinan_publ [pweight=fe_empresasx] *probit col_univ dfinan_publ [pweight=fe_empresasx] *probit col_prov dfinan_publ [pweight=fe_empresasx] * With PSW balance reg total_empleados dfinan_publ [pweight=wm1] reg edad_empresa dfinan_publ [pweight=wm1] probit pge dfinan_publ [pweight=wm1] probit dep_id dfinan_publ [pweight=wm1] probit col_insp dfinan_publ [pweight=wm1] probit col_univ dfinan_publ [pweight=wm1] probit col_prov dfinan_publ [pweight=wm1] * Table 6B * Imbalance measurement imb t_emp1000 edad_empresa pge dep_id col_clien col_univ col_prov, treatment(dfinan_publ) * It is necessary to set the seed to reproduce the CEM results. set seed 77 * Consistent data ordering sort dep_id // a variable unequely identifying each observation * Coarsened Exact Matching (CEM) is performed. cem t_emp1000(0 0.0255 0.2005) edad_empresa pge dep_id col_clien col_univ col_prov, treatment(dfinan_publ) k2k * Tabla 7 * Balance table tab innov_notec innov_tec if cem_matched == 1 ************* Table 8. eststo m1: biprobit innov_tec innov_notec c.t_emp1000 /// c.t_emp1000#c.t_emp1000 c.edad_empresa i.pge i.dep_id /// i.col_clien i.col_univ i.col_prov i.dfinan_publ eststo m2: biprobit innov_tec innov_notec c.t_emp1000 /// c.t_emp1000#c.t_emp1000 c.edad_empresa i.pge i.dep_id /// i.col_clien i.col_univ i.col_prov i.dfinan_publ [pweight=wm1] eststo m3: biprobit innov_tec innov_notec c.t_emp1000 /// c.t_emp1000#c.t_emp1000 c.edad_empresa i.pge i.dep_id /// i.col_clien i.col_univ i.col_prov i.dfinan_publ if cem_matched == 1 eesttab using pinv.rtf, nobaselevels nonumbers b(3) mtitles("Baseline model" /// "PSW balanced model" "CEM balanced model")label scalars("rho Rho" "chi2_c LR" /// "p P-Value" "ll LL") legend varlabels(_cons "Constant" /// t_emp1000 "Total employees" c.t_emp1000#c.t_emp1000 "Total employees^2" /// Aeduc_share "Proportion of Proffesionals" edad_empresa "Age company" /// 1.pge "Business group" 1.dep_id "Department of R&D" /// 1.col_clien "Collaboration with clients" 1.col_univ "Collaboration with universities" /// 1.col_prov "Colkaboracion with suppliers" 1.dtrai "Tax incentives") nonotes addnotes(Statistic /// t of differences in mean values. Asterisks indicates statistic significance /// t levele: * p < 0.05, ** p < 0.01, *** p < 0.001) /// replace eststo clear ** ------------- CEM Marginal Estimations biprobit, Table 9 --------------- *Probability estimation with PSW * P(Technological innovation=1) biprobit innov_tec innov_notec c.t_emp1000 c.t_emp1000#c.t_emp1000 c.edad_empresa i.pge i.dep_id /// i.col_clien i.col_univ i.col_prov i.dfinan_publ [pweight=wm1] eststo margin1: margins dfinan_publ, predict(pmarg1) post * P(Non-technological innovation=1) biprobit innov_tec innov_notec c.t_emp1000 c.t_emp1000#c.t_emp1000 c.edad_empresa i.pge i.dep_id /// i.col_clien i.col_univ i.col_prov i.dfinan_publ [pweight=wm1] eststo margin2: margins dfinan_publ, predict(pmarg2) post * P(Technological innovation=1| Non-tech. innovation =1) biprobit innov_tec innov_notec c.t_emp1000 c.t_emp1000#c.t_emp1000 c.edad_empresa i.pge i.dep_id /// i.col_clien i.col_univ i.col_prov i.dfinan_publ [pweight=wm1] eststo margin3: margins dfinan_publ, predict(pcond1) post * P(Non-tech. innovation =1| Technological. innovation=1) biprobit innov_tec innov_notec c.t_emp1000 c.t_emp1000#c.t_emp1000 c.edad_empresa i.pge i.dep_id /// i.col_clien i.col_univ i.col_prov i.dfinan_publ [pweight=wm1] eststo margin4: margins dfinan_publ, predict(pcond2) post eststo clear *Probability estimation with CEM * P(Technological innovation=1) biprobit innov_tec innov_notec c.t_emp1000 /// c.t_emp1000#c.t_emp1000 c.edad_empresa i.pge i.dep_id /// i.col_clien i.col_univ i.col_prov i.dfinan_publ if cem_matched == 1 eststo margin1: margins, dydx(*) predict(pmarg1) post * P(Non-technological innovation=1) biprobit innov_tec innov_notec c.t_emp1000 /// c.t_emp1000#c.t_emp1000 c.edad_empresa i.pge i.dep_id /// i.col_clien i.col_univ i.col_prov i.dfinan_publ if cem_matched == 1 eststo margin2: margins, dydx(*) predict(pmarg2) post * P(Technological innovation=1| Non-tech. innovation =1) biprobit innov_tec innov_notec c.t_emp1000 /// c.t_emp1000#c.t_emp1000 c.edad_empresa i.pge i.dep_id /// i.col_clien i.col_univ i.col_prov i.dfinan_publ if cem_matched == 1 eststo margin3: margins, dydx(*) predict(pcond1) post * P(Non-tech. innovation =1| Technological. innovation=1) biprobit innov_tec innov_notec c.t_emp1000 /// c.t_emp1000#c.t_emp1000 c.edad_empresa i.pge i.dep_id /// i.col_clien i.col_univ i.col_prov i.dfinan_publ if cem_matched == 1 eststo margin4: margins, dydx(*) predict(pcond2) post esttab using efec_marg1.rtf eststo clear * ------------- Marginal estimations biprobit, Table 10 --------------- *Probability estimation with PSW * P(Technological innovation=1, Non-technological innovation =1) biprobit innov_tec innov_notec c.t_emp1000 c.t_emp1000#c.t_emp1000 c.edad_empresa i.pge i.dep_id /// i.col_clien i.col_univ i.col_prov i.dfinan_publ [pweight=wm1] eststo margin1: margins dfinan_publ, predict(p11) post * P(Technological innovation=1, Non-technological innovation =0) biprobit innov_tec innov_notec c.t_emp1000 c.t_emp1000#c.t_emp1000 c.edad_empresa i.pge i.dep_id /// i.col_clien i.col_univ i.col_prov i.dfinan_publ [pweight=wm1] eststo margin2: margins dfinan_publ, predict(p10) post * P(Technological innovation=0, Non-technological innovation =1) biprobit innov_tec innov_notec c.t_emp1000 c.t_emp1000#c.t_emp1000 c.edad_empresa i.pge i.dep_id /// i.col_clien i.col_univ i.col_prov i.dfinan_publ [pweight=wm1] eststo margin3: margins dfinan_publ, predict(p01) post * P(Technological innovation=0. Non-technological innovation =0) biprobit innov_tec innov_notec c.t_emp1000 c.t_emp1000#c.t_emp1000 c.edad_empresa i.pge i.dep_id /// i.col_clien i.col_univ i.col_prov i.dfinan_publ [pweight=wm1] eststo margin4: margins dfinan_publ, predict(p00) post eststo clear *Probability estimation with CEM * P(Technological innovation=1, Non-technological innovation =1) biprobit innov_tec innov_notec c.t_emp1000 c.t_emp1000#c.t_emp1000 c.edad_empresa i.pge i.dep_id /// i.col_clien i.col_univ i.col_prov i.dfinan_publ if cem_matched == 1 eststo margin1: margins dfinan_publ, predict(p11) post * P(Technological innovation=1, Non-technological innovation =0) biprobit innov_tec innov_notec c.t_emp1000 c.t_emp1000#c.t_emp1000 c.edad_empresa i.pge i.dep_id /// i.col_clien i.col_univ i.col_prov i.dfinan_publ if cem_matched == 1 eststo margin2: margins dfinan_publ, predict(p10) post * P(Technological innovation=0, Non-technological innovation =1) biprobit innov_tec innov_notec c.t_emp1000 c.t_emp1000#c.t_emp1000 c.edad_empresa i.pge i.dep_id /// i.col_clien i.col_univ i.col_prov i.dfinan_publ if cem_matched == 1 eststo margin3: margins dfinan_publ, predict(p01) post * P(Technological innovation=0. Non-technological innovation =0) biprobit innov_tec innov_notec c.t_emp1000 c.t_emp1000#c.t_emp1000 c.edad_empresa i.pge i.dep_id /// i.col_clien i.col_univ i.col_prov i.dfinan_publ if cem_matched == 1 eststo margin4: margins dfinan_publ, predict(p00) post eststo clear * Store only the matched observations keep if cem_matched == 1 * Store the final dataset save matched_dataset_cem.dta, replace