全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
1808 5
2010-06-12
最近使用CHIP2002的数据作一个论文,处理数据的时候碰到一个神奇的现象,让我百思不得其解……
我的目的是要找出一个家庭中收入最高的那个个案,命令如下:
by pcode, sort: egen histinc=max(p201)  /*pcode代表“家庭编号”,p201代表“个人年收入”*/
drop if p201!=histinc  
tab pcode
return list  /*探查不同家庭编号的个数,从而得到家庭的个数*/

数据中原本有家庭6835个,但是经过这样的处理,家庭个数减少到了6201个!
我没想明白为什么家庭数目会减少!!
通过第一条命令,已经把每个家庭中最高的收入选出来了,这个最高收入是从所有家庭成员中选出来的,按理说每个家庭都会有一个最高收入呀。(如果整个家庭的个人收入都为缺失值,那么最高收入就是缺失值)
那再执行第二条命令就可以剔除收入不是最高的家庭成员,虽然并不能保证每个家庭只留一个人(因为有些家庭中有多个人收入一致,并且都是最高收入),但是不至于把整个家庭的人都给删了呀……

纠结了几天了,没想明白,期待高手解答!
二维码

扫码加我 拉你入群

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

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

全部回复
2010-6-12 20:05:41
第一步产生完,你先看看都产生了什么数据

然后你在查看drop了哪些数据

这必须的看到数据才能知道为什么少了
看命令看不出来的
二维码

扫码加我 拉你入群

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

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

2010-6-13 12:26:12
2# 蓝色
生成了一个新的变量,就是每个家庭中的最高收入,当然也包括缺失值和0(如果全家的收入都是缺失值或者0的话)
至于删除了什么……呃……删了14286个个案,要自己把删掉的个案的特征看出来……这个难度太大了……
二维码

扫码加我 拉你入群

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

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

2010-6-13 12:33:59
2# 蓝色
就没有在一个家庭的范围内探查是否所有人的收入都不等于最高收入的命令吗?
二维码

扫码加我 拉你入群

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

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

2010-6-13 12:56:23
2# 蓝色
我把删除前后的家庭编号核对了一部分以后,终于发现问题了,可能是STATA的一个bug
我发现用“drop if p201!=histinc”删掉的个案,他们的histinc(家庭中的个人最高收入)都是小数形式呈现的(如23000.65),也就是说STATA无法识别有小数的数字是否是相等的值,统统都当成不相等给删了……
二维码

扫码加我 拉你入群

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

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

2010-6-13 14:23:00
学stata的就得学会反复查看对比数据。

知道了原因就好办了
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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