处理命令如下:
gen id = hhid + line*10^9
format id hhid %14.0g
order id year
tsset id year
keep if year==1989|year==2006 // 你的问题可以使用这个语句来解决
bysort id: egen num = count(id)
drop if num<2 // 只有一个年度有观察值的个人被删掉
list id year, sepby(id)
*==========用你的数据测试结果如下==========
. input hhid line year
hhid line year
1. 211101001 1 1991
2. 211101001 1 1989
3. 211101001 2 1991
4. 211101001 2 1989
5. 211101002 1 1989
6. 211101002 1 1991
7. 211101002 2 1991
8. 211101002 2 1989
9. 211101003 1 1989
10. 211101003 2 1989
11. 211101003 3 2006
12. 211101004 1 1991
13. 211101004 1 1993
14. 211101004 1 1989
15. 211101004 2 1989
16. end
.
. gen id = hhid + line*10^9
. format id hhid %14.0g
. order id year
.
. tsset id year
panel variable: id (unbalanced)
time variable: year, 1989 to 2006, but with gaps
delta: 1 unit
.
. keep if year==1989|year==1991 // 测试,仅保留1989和1991有样本的个体
(2 observations deleted)
.
. *keep if year==1989|year==2006 // 你的问题可以使用这个语句来解决
.
. bysort id: egen num = count(id)
.
. drop if num<2 // 只有一个年度有观察值的个人被删掉
(3 observations deleted)
.
. list id year, sepby(id)
+-------------------+
| id year |
|-------------------|
1. | 1211101001 1989 |
2. | 1211101001 1991 |
|-------------------|
3. | 1211101002 1989 |
4. | 1211101002 1991 |
|-------------------|
5. | 1211101004 1989 |
6. | 1211101004 1991 |
|-------------------|
7. | 2211101001 1989 |
8. | 2211101001 1991 |
|-------------------|
9. | 2211101002 1989 |
10. | 2211101002 1991 |