楼主: CccYyyQING
1174 5

[数据管理求助] 怎样计算数据连续出现次数 [推广有奖]

  • 0关注
  • 0粉丝

初中生

14%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
32 点
帖子
5
精华
0
在线时间
19 小时
注册时间
2022-6-2
最后登录
2023-5-27

楼主
CccYyyQING 发表于 2022-6-2 16:27:10 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
我想求每个ID的连续出现re1=1的年数,比如ID=30259698在2010和2011两年连续等于1,那么它连续出现的次数则为2

PersonID        year        re1
30259698        2007        0
30259698        2008        0
30259698        2009        0
30259698        2010        1
30259698        2011        1
30259698        2013        0
30259698        2014        0
30259698        2015        0
30259698        2016        0
30259698        2017        0
30259698        2018        0
30259703        2007        1
30259703        2008        1
30259703        2009        1
30259703        2010        1
30259703        2011        0
30259703        2012        1
30259703        2013        1
30259703        2014        1
30259703        2015        1
30259703        2016        1
30259703        2017        1


二维码

扫码加我 拉你入群

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

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

关键词:Person year RSO ERS ear

回帖推荐

黃河泉 发表于5楼  查看完整内容

请 ssc install tsspell, 然后试试

沙发
CccYyyQING 发表于 2022-6-2 17:11:01
补充一下,也就是求不同ID的1连续出现的次数

藤椅
黃河泉 在职认证  发表于 2022-6-2 17:31:53
1. 你的 2012 年资料有缺失?
  1. 30259698        2011        1
  2. 30259698        2013        0
复制代码
2. 请根据你的资料,写下你要的结果 (无法理解你要什么样的结果)!

板凳
CccYyyQING 发表于 2022-6-2 17:41:20
黃河泉 发表于 2022-6-2 17:31
1. 你的 2012 年资料有缺失?2. 请根据你的资料,写下你要的结果 (无法理解你要什么样的结果)!
是的老师,数据是有缺失的,以下是我自己写的结果,求每个ID对应的re1=1连续出现的次数,第一年=1时则N取1,连续两年=1时则N取2,以此类推,如果中间有年份断开了,那么就在下一次re1=1时重新开始计算

PersonID        year        re1   N
30259698        2007        0    0
30259698        2008        0    0
30259698        2009        0    0
30259698        2010        1    1
30259698        2011        1    2
30259698        2013        0    0
30259698        2014        0    0
30259698        2015        0    0
30259698        2016        0    0
30259698        2017        0    0
30259698        2018        0    0
30259703        2007        1    1
30259703        2008        1    2
30259703        2009        1    3
30259703        2010        1    4
30259703        2011        0    0
30259703        2012        1    1
30259703        2013        1    2
30259703        2014        1    3
30259703        2015        1    4
30259703        2016        1    5
30259703        2017        1    6

报纸
黃河泉 在职认证  发表于 2022-6-2 17:49:31
CccYyyQING 发表于 2022-6-2 17:41
是的老师,数据是有缺失的,以下是我自己写的结果,求每个ID对应的re1=1连续出现的次数,第一年=1时则N取 ...
请 ssc install tsspell, 然后试试
  1. * Example generated by -dataex-. For more info, type help dataex
  2. clear
  3. input double PersonID float(year re1)
  4. 30259698 2007 0
  5. 30259698 2008 0
  6. 30259698 2009 0
  7. 30259698 2010 1
  8. 30259698 2011 1
  9. 30259698 2013 0
  10. 30259698 2014 0
  11. 30259698 2015 0
  12. 30259698 2016 0
  13. 30259698 2017 0
  14. 30259698 2018 0
  15. 30259703 2007 1
  16. 30259703 2008 1
  17. 30259703 2009 1
  18. 30259703 2010 1
  19. 30259703 2011 0
  20. 30259703 2012 1
  21. 30259703 2013 1
  22. 30259703 2014 1
  23. 30259703 2015 1
  24. 30259703 2016 1
  25. 30259703 2017 1
  26. end

  27. fillin PersonID year
  28. xtset PersonID year
  29. tsspell re1
  30. bys PersonID _spell: gen wanted = sum(re1)  
复制代码
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
Sunknownay + 3 + 3 + 3 热心帮助其他会员

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

地板
CccYyyQING 发表于 2022-6-2 18:11:19
黃河泉 发表于 2022-6-2 17:49
请 ssc install tsspell, 然后试试
可以了,感谢黄老师!

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

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2026-1-5 13:31