找到 _n 个具有特定值的 Observation(s)

Find _n of Observation(s) that have a certain value

我想找到与具有特定值的观察值相对应的观察值,比如 29。然后我想将这些观察数字保存在一个宏中。

有没有比以下笨拙且低效的 forvalues 循环更好的方法?

sysuse auto, clear

local n

forvalues i=1/`=_N' {
    if mpg[`i']==29 local n `n' `i'
}

display "`n'"
gen long obsno = _n 
levelsof obsno if mpg == 29 

为您减少打字。你为什么要这个?