我正在使用Stata,我需要对数据进行子集化。我想创建一个数据子集,其中如果在与唯一ID相关的一个观察中满足某个标准,则保持与唯一id相关的所有观察。例如,我想保留与学生(变量recordnum
)相关的所有学期观察(变量id
),如果在其中一个学期中他们已经注册了他们,他们会收到一个援助(变量{{1} })。
答案 0 :(得分:1)
这是一个解决方案。可能会在1行中完成。
您需要变量aid
为0或1。
然后:
bys id: egen temp = max(aid)
keep if temp == 1
drop temp
如果变量aid
不是0或1(例如,援助的值为$,TRUE或FALSE),则可以创建使用if
:
gen dummy_aid = 0
replace dummy_aid = 1 if aid >0
* ( or if aid == TRUE, etc...)