全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
1836 4
2009-07-16
我将几个文档的数据merge 后形成一个panel data,并想对这个面板进行分析,时间变量是wave(1999和2003),id 变量时由家庭(hhid)和个人(line)两个变量组成的。这数据有个问题:有少量id只有一年的数据记录,例如:
hhid        line         wave
01             1             1999
01             1             2003
01             2              1999
02             1              1999
02             1              2003
03             1              2003
03             2              1999
03             2              2003
...............
如上,蓝色部分01家庭第2个人只有99没有03年的记录,03家庭的第1个人只有03没有99年的记录,这些观察值不能组成一个panel,需要找出来并剔除。请问如何找出和剔除??谢谢!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2009-7-16 16:48:07
clear
input str2 hhid str1 line wave
01 1 1999
01 1 2003
01 2  1999
02 1  1999
02 1  2003
03 1  2003
03 2  1999
03 2  2003
end
gen id=hhid+line
sort id wave
bysort id: gen size=_N
drop if size==1
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2009-7-16 17:04:52
谢谢!做出来了,原来是利用系统变量_N。我进一步想到另一个相关的问题,如果我是3年的数据(1999,2000,2001),我想至少要有1999年的就可以,2000和2001年的观测值有1年或2年都有,那该怎么做呢?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2009-7-16 17:24:34
clear
input str2 hhid str1 line wave
01 1 1999
01 1 2003
01 2  1999
02 1  1999
02 1  2003
03 1  2003
03 2  1999
03 2  2003
end
gen id=hhid+line
sort id wave
bysort id: gen size=_N
bysort id: egen size2=min(wave)
drop if size2~=1999 | size<2
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2009-7-16 17:33:02
非常感谢!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群