过滤特定观察结果

Filter specific observations

我有一个雇主-雇员数据库,只需要保留至少有一位同事考虑 Firm_id 变量的个人,但我不知道如何在 Stata 中执行此操作。我的数据集是这样的:

Id    Firm_id    Year
1        50       2010
1        50       2011
2        50       2010
2        50       2011
3        22       2010
3        22       2011
4        22       2010
4        20       2011

在上述情况下,我将只保留与 Id 1 和 2 对应的个人,因为他们在样本的两个年份都在同一家公司。 2011年个人3号和2011年个人4号将被淘汰

我正在寻找的输出如下:

Id    Firm_id    Year
1        50       2010
1        50       2011
2        50       2010
2        50       2011
3        22       2010
4        22       2010

这适用于您的数据示例:

clear 
input Id    Firm_id    Year
1        50       2010
1        50       2011
2        50       2010
2        50       2011
3        22       2010
3        22       2011
4        22       2010
4        20       2011
end

bysort Year Firm_id : keep if Id[1] != Id[_N]
sort Id Year 
list