楼主: jiaojiaocai
34788 17

[面板数据求助] 请问大家,如何用stata 筛选数据。 [推广有奖]

  • 1关注
  • 0粉丝

本科生

53%

还不是VIP/贵宾

-

威望
0
论坛币
29531 个
通用积分
0.0007
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
816 点
帖子
39
精华
0
在线时间
147 小时
注册时间
2013-10-22
最后登录
2020-7-25

楼主
jiaojiaocai 发表于 2017-6-9 22:10:35 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
请问大家,如何用stata 筛选数据。
我使用1989年-2006年chns 数据, 有城市和农村样本,现在想筛选出那些在城市和农村之间变动的个体,就是说之前是农村,后来变成城市,或者之前是城市,后来变成农村了。 请问使用stata 命令如何选,谢谢大家。
二维码

扫码加我 拉你入群

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

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

关键词:Stata 筛选数据 tata 如何用 CHNS stata

沙发
黃河泉 在职认证  发表于 2017-6-10 07:22:16
你要 show 几笔代表性资料,不然别人无法回答!

藤椅
蓝色 发表于 2017-6-10 08:02:59
建议看看下面的帖子,先学会提问
https://bbs.pinggu.org/thread-3760176-1-1.html

板凳
jiaojiaocai 发表于 2017-6-10 08:23:39
黃河泉 发表于 2017-6-10 07:22
你要 show 几笔代表性资料,不然别人无法回答!
好的,谢谢您,我再重新编辑下问题。

报纸
jiaojiaocai 发表于 2017-6-10 08:24:24
蓝色 发表于 2017-6-10 08:02
建议看看下面的帖子,先学会提问
https://bbs.pinggu.org/thread-3760176-1-1.html
好的,谢谢您。不好意思,可能问题表述不明确,我重新编辑下。

地板
jiaojiaocai 发表于 2017-6-10 08:32:31
抱歉,我的问题没能表述清楚。 现在重新表述下。 我使用1989-2006年中国健康与营养调查(chns) 数据,分析城市和农村地区居民的健康不平等的影响因素。我将样本分为城市地区样本和农村地区样本分别进行分析。 即,分别分析1989-2006年城市地区居民健康不平等的影响因素和1989-2006年农村地区的居民健康不平等的影响因素。
现在有个问题,因为是面板数据,时间跨度从1989年-2006年(其中包括六次调查:1989年, 1991年, 1997年,2000年, 2004年,和2006年)。 所以有可能存在这种情况: 某个样本个体在前面某一年的调查中属于城市样本,但之后可能变成农村样本;也有可能某个个体样本在前面某一年的调查中属于农村样本,但之后可能变成城市样本 (可能由于迁移到城市地区居住了)。 我想筛选出这些在城市和农村之间发生变动的样本个体, 就是说对于一个样本,从1989年到2006年,不是一直保持是城市样本,或者不是一直保持是农村样本。

谢谢大家,请问这个用stata如何筛选。

如图,第一列是年份, 第二列是个体 id , 第三列是居住地:城市或者农村(城市=1 农村=0)

屏幕快照 2017-06-09 8.17.25 PM.png (73.11 KB)

屏幕快照 2017-06-09 8.17.25 PM.png

7
黃河泉 在职认证  发表于 2017-6-10 09:55:54
jiaojiaocai 发表于 2017-6-10 08:32
抱歉,我的问题没能表述清楚。 现在重新表述下。 我使用1989-2006年中国健康与营养调查(chns) 数据,分析 ...
试试
  1. bys idind: egen x1 = count(Urban)
  2. bys idind: egen x2 = total(Urban)
  3. gen y = (x1 != x2)
复制代码
当 y = 1 即是你要的!
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
Stakiny + 2 + 2 + 2 热心帮助其他会员

总评分: 学术水平 + 2  热心指数 + 2  信用等级 + 2   查看全部评分

8
jiaojiaocai 发表于 2017-6-10 22:25:30
黃河泉 发表于 2017-6-10 09:55
试试当 y = 1 即是你要的!

非常感谢黄老师提供的建议。

黄老师,我试了试,感觉这个结果不太对。

在1989-2006年的6次调查中,只被调查一次的个体也被赋值 y=1 了 (而这个只被调查一次的个体应该不存在居住地点变化的问题。); 另外我也发现根据 x2total(Urban)  计算的总的urban的结果不对,导致 y 也就不对了。

比如,对于id idind)是 412101044003 的个体来说,结果是这样的:

list if idind==412101044003

结果

这个个体被调查了4次(从1997年开始被调查), 居住地点一直是urban ,没有变,但是结果x2=0  y=1 , 与实际不相符,感觉 x2 也应该=4,  y 应该=0 的。

我想找到被调查不止一次的个体,不管是哪个年份被调查的,对同一个个体在不同的年份,他的居住地点(城市和农村)发生了变化的。


谢谢老师!

9
jiaojiaocai 发表于 2017-6-11 08:38:34
黃河泉 发表于 2017-6-10 09:55
试试当 y = 1 即是你要的!
非常感谢黄老师提供建议。
黄老师,我试了试,感觉这个结果不太对。
在1989-2006年的6次调查中,只被调查一次的个体也被赋值 y=1 了 (而这个只被调查一次的个体应该不存在居住地点变化的问题。); 另外我也发现根据 x2=total(Urban)  计算的总的urban的结果不对,导致 y 也就不对了。
比如,对于id (idind)是 412101044003 的个体来说,结果是这样的:
list if idind==412101044003

这个个体被调查了4次(从1997年开始被调查),  居住地点一直是urban ,没有变,但是结果x2=0  y=1 , 与实际不相符,感觉 x2 也应该=4,  y 应该=0 的。

我想找到被调查不止一次的个体,不管是哪个年份被调查的,对同一个个体在不同的年份,他的居住地点(城市和农村)发生了变化的。
谢谢老师!

10
jiaojiaocai 发表于 2017-6-11 08:40:31
黄老师,图片刚没有发布上去, 在这里补充下。谢谢老师。

比如,对于id (idind)是 412101044003 的个体来说,结果是这样的:
list if idind==412101044003

屏幕快照 2017-06-10 10.19.30 AM.png (20.31 KB)

屏幕快照 2017-06-10 10.19.30 AM.png

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2025-12-25 18:54