只保留 Stata 中的某些行
Keeping only certain rows in Stata
我在 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
gen amd=(Var1=="AMD")
egen B=total(amd==1), by(Id)
keep if B
我从问题中假设 Var1
只能包含 AMD AMM
。如果是这样,完整的解决方案是
bysort Id (Var1): keep if Var1[1] == "AMD"
无需创建任何其他变量。
我在 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
gen amd=(Var1=="AMD")
egen B=total(amd==1), by(Id)
keep if B
我从问题中假设 Var1
只能包含 AMD AMM
。如果是这样,完整的解决方案是
bysort Id (Var1): keep if Var1[1] == "AMD"
无需创建任何其他变量。