楼主: nickyou13
7871 9

[面板数据求助] 在stata面板数据中,怎么计算一个id的有多少年数据 [推广有奖]

  • 0关注
  • 0粉丝

高中生

35%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
156 点
帖子
17
精华
0
在线时间
27 小时
注册时间
2018-10-10
最后登录
2021-3-5

楼主
nickyou13 发表于 2019-1-6 16:33:34 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
在stata面板数据中,怎么计算一个id的有多少年数据,因为我想保留具有两年数据以上的id,只有一年数据的id就打算drop。
求解怎么保留具有两年及以上的数据

二维码

扫码加我 拉你入群

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

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

关键词:面板数据 板数据

沙发
黃河泉 在职认证  发表于 2019-1-6 17:04:25
你若要问程序,永远附上相关资料;若附上资料,永远用 dataex 印出资料。
1.        先 ssc install dataex (并见说明),将原始 Stata 资料中具有”代表性”的一部分资料列出,以供有意回答者实验之用,并能提供具体操作指令。
2.        并请参考 http://www.jianshu.com/p/9870080fe769,  https://bbs.pinggu.org/thread-5048204-1-1.html, 与 https://bbs.pinggu.org/thread-5917273-1-1.html
3.        你若要别人帮助你,你就要"动点脑筋"帮助别人来帮助你。

藤椅
nickyou13 发表于 2019-1-6 17:38:41
例如:
id   year
1   2000
1   2001
1   2003
2   2001

3   2000

3   2001

3   2002

4   2001

其中,我想要把2和4去掉

板凳
黃河泉 在职认证  发表于 2019-1-6 18:17:25
nickyou13 发表于 2019-1-6 17:38
例如:
id   year
1   2000
1. 尔后请用回复!2. 你若要问程序,永远附上相关资料;若附上资料,永远用 dataex 印出资料。
1.        先 ssc install dataex (并见说明),将原始 Stata 资料中具有”代表性”的一部分资料列出,以供有意回答者实验之用,并能提供具体操作指令。
2.        并请参考 http://www.jianshu.com/p/9870080fe769,  https://bbs.pinggu.org/thread-5048204-1-1.html, 与 https://bbs.pinggu.org/thread-5917273-1-1.html
3.        你若要别人帮助你,你就要"动点脑筋"帮助别人来帮助你。

报纸
nickyou13 发表于 2019-1-6 19:21:38
黃河泉 发表于 2019-1-6 18:17
1. 尔后请用回复!2. 你若要问程序,永远附上相关资料;若附上资料,永远用 dataex 印出资料。
1.       ...
像这样子,我想只保留拥有两年及以上的数据,其他只有一年的数据都删除
input double idind int wave
111101011003 2011
111101014003 2011
111101015003 2011
111101016003 2011
111101019003 2011
111101020003 2011
111102004003 2011
111102004003 2015
111102007003 2011
111102012003 2011
111102012003 2015
111102014003 2011
111102018003 2011
111102020003 2011
111102167003 2015
111103011003 2011
111103014004 2011
111103014004 2015
111103015003 2011
111103016003 2011
end
[/CODE]

地板
忧壑空谷兰 发表于 2019-1-7 09:15:43
bysort id:egen x=count(year)
keep if x>=2
试试这个,看看行不行。还有,建议问问题的时候用dataex命令,这样大家都方便。

7
黃河泉 在职认证  发表于 2019-1-7 09:47:39
nickyou13 发表于 2019-1-6 19:21
像这样子,我想只保留拥有两年及以上的数据,其他只有一年的数据都删除
input double idind int wave
1 ...
基本上,跟楼上一样 (修正一点点):
  1. * Example generated by -dataex-. To install: ssc install dataex
  2. clear
  3. input double idind int wave
  4. 111101011003 2011
  5. 111101014003 2011
  6. 111101015003 2011
  7. 111101016003 2011
  8. 111101019003 2011
  9. 111101020003 2011
  10. 111102004003 2011
  11. 111102004003 2015
  12. 111102007003 2011
  13. 111102012003 2011
  14. 111102012003 2015
  15. 111102014003 2011
  16. 111102018003 2011
  17. 111102020003 2011
  18. 111102167003 2015
  19. 111103011003 2011
  20. 111103014004 2011
  21. 111103014004 2015
  22. 111103015003 2011
  23. 111103016003 2011
  24. end

  25. bys idind: egen n = count(wave)
  26. keep if n >= 2
复制代码

8
nickyou13 发表于 2019-1-8 09:04:08
黃河泉 发表于 2019-1-7 09:47
基本上,跟楼上一样 (修正一点点):
感谢,小白下次会注意使用dataex的了

9
nickyou13 发表于 2019-1-8 09:04:37
忧壑空谷兰 发表于 2019-1-7 09:15
bysort id:egen x=count(year)
keep if x>=2
试试这个,看看行不行。还有,建议问问题的时候用dataex命令 ...
感谢你,下次我会注意了

10
2942114696 发表于 2019-4-2 17:45:55
还可以用xtpattern,gen(pp),手动删除。楼主能告知一下“保留两年及以上数据”这样处理数据的论文依据吗,在哪篇论文中是这样处理的?

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

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