我在Stata中有一个看起来像
的数据集Id | Var1
------------------
1 | AMD
1 | AMM
1 | AMM
2 | AMM
3 | AMD
3 | AMD
4 | AMM
4 | AMM
我想只保留引用至少有一个AMD的ID的行。在这个例子中,我想得到
Id | Var1
------------------
1 | AMD
1 | AMM
1 | AMM
3 | AMD
3 | AMD
答案 0 :(得分:0)
gen amd=(Var1=="AMD")
egen B=total(amd==1), by(Id)
keep if B
答案 1 :(得分:0)
我假设Var1
只能包含AMD AMM
的问题。如果是这样,那么完整的解决方案就是
bysort Id (Var1): keep if Var1[1] == "AMD"
无需创建任何其他变量。