Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • How to skip merging empty master datasets in a loop?

    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:

    Code:
    forval i = 1/20{
    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
    However, it shows an error message after merging. Is there any advice on how to resolve this issue?

    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);
    Many thanks!
    Jae

  • #2
    Although this is not an exact duplicate post, the main question posed is the same. If interested in following, see https://www.statalist.org/forums/for...in-a-500-loops.

    Comment

    Working...
    X