Difference between revisions of "MatchingLBO.do"

From edegan.com
Jump to navigation Jump to search
Line 2: Line 2:
  
 
==Attempt 1==
 
==Attempt 1==
use STATApredictLBO.dta, clear \\
+
use STATApredictLBO.dta, clear <br>
rename nopatents case_nopatents \\
+
rename nopatents case_nopatents <br>
rename logitpw case_logitpw \\
+
rename logitpw case_logitpw <br>
rename gvkey case_gvkey  \\
+
rename gvkey case_gvkey  <br>
  
/*industry, year, and no. of patents*/
+
/*industry, year, and no. of patents*/ <br>
joinby industrygroup3 year using STATApredictLBO.dta
+
joinby industrygroup3 year using STATApredictLBO.dta <br>
gen a = nopatents*0.95
+
gen a = nopatents*0.95 <br>
gen b = nopatents*1.05  
+
gen b = nopatents*1.05 <br>
gen delta=abs(logitpw-case_logitpw)
+
gen delta=abs(logitpw-case_logitpw) <br>
drop if case_nopatents > b | case_nopatents < a  
+
drop if case_nopatents > b | case_nopatents < a <br>
  
// GENERATE SOME RANDOM NUMBERS TO RANDOMLY BREAK ANY TIES
+
// GENERATE SOME RANDOM NUMBERS TO RANDOMLY BREAK ANY TIES <br>
// ON CLOSENESS OF MATCH OF MARKET VALUE
+
// ON CLOSENESS OF MATCH OF MARKET VALUE <br>
set seed 1020
+
set seed 1020 <br>
gen double shuffle1 = runiform()
+
gen double shuffle1 = runiform() <br>
gen double shuffle2 = runiform()
+
gen double shuffle2 = runiform() <br>
  
by case_gvkey (delta shuffle1 shuffle2), sort: keep if _n == 1
+
by case_gvkey (delta shuffle1 shuffle2), sort: keep if _n == 1 <br>
drop delta shuffle1 shuffle2
+
drop delta shuffle1 shuffle2 <br>
  
 
( )Error op. sys. refuses to provide memory
 
( )Error op. sys. refuses to provide memory

Revision as of 12:16, 18 October 2016

This do file aims to match companies with the closest propensity score based on industry, year, and number of patents from STATApredictLBO.dta.

Attempt 1

use STATApredictLBO.dta, clear
rename nopatents case_nopatents
rename logitpw case_logitpw
rename gvkey case_gvkey

/*industry, year, and no. of patents*/
joinby industrygroup3 year using STATApredictLBO.dta
gen a = nopatents*0.95
gen b = nopatents*1.05
gen delta=abs(logitpw-case_logitpw)
drop if case_nopatents > b | case_nopatents < a

// GENERATE SOME RANDOM NUMBERS TO RANDOMLY BREAK ANY TIES
// ON CLOSENESS OF MATCH OF MARKET VALUE
set seed 1020
gen double shuffle1 = runiform()
gen double shuffle2 = runiform()

by case_gvkey (delta shuffle1 shuffle2), sort: keep if _n == 1
drop delta shuffle1 shuffle2

( )Error op. sys. refuses to provide memory