Difference between revisions of "MatchingLBO.do"
Yimengtang (talk | contribs) |
Yimengtang (talk | contribs) |
||
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