Dear Stata experts,
I'd like to ask a question about merging datasets in a loop when no observations merged and please see my code here:
However, it stops and shows an error message after a few times of merging. I want it to skip merging if no observations left in the master dataset after
and start another loop, and keep going until 500 times. Is there any advice on how to resolve this issue?
Many thanks!
Jae
I'd like to ask a question about merging datasets in a loop when no observations merged and please see my code here:
Code:
forval i = 1/500{
preserve
bsample
reg y x1 x2 i.sic3 i.year, vce(robust)
gen b_x1 = _b[x1]
gen se_x1 = _se[x1]
gen t_x1 = abs(b_x1 / se_x1)
* keep significant coefficients
keep if t_x1 >= 1.65
* if no observations left, exit
if c(rc) != 0 {
exit (c(rc))
}
else {
gen index = `i'
keep gvkey fyear
merge m:1 gvkey fyear using "base.dta"
keep if _merge == 3
drop _merge
restore
}
}
Code:
keep if t_x1 >= 1.65
Code:
Result Number of obs
-----------------------------------------
Not matched 49,576
from master 0 (_merge==1)
from using 49,576 (_merge==2)
Matched 0 (_merge==3)
-----------------------------------------
(49,576 observations deleted)
no observations
r(2000);
end of do-file
Many thanks!
Jae

Comment