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