2500 2

[面板数据求助] STATA 如何做同列日期相减 [推广有奖]

  • 0关注
  • 0粉丝

等待验证会员

高中生

85%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
89 点
帖子
6
精华
0
在线时间
67 小时
注册时间
2019-1-15
最后登录
2023-11-20

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
如题,想在STATA中实现如下,如果V1出现重复值,将重复V1行对应的V14相减(原始数据中V14为日期,年月日),如果日期差小于20天,保留日期最早的那行。描述一下就是在同一个人的不同日期中,如果两个日期间隔小于20天,就只保留日期最早那条记录,感谢各位大佬!

  1. * Example generated by -dataex-. To install: ssc install dataex
  2. clear
  3. input str15 V1 long V14
  4. " 谭国信"       .
  5. " 忻逸华"       .
  6. "Sunny Lai" 21662
  7. "艾佩明"    21749
  8. "艾天清"    21564
  9. "艾天清"    21787
  10. "安洪津"    21678
  11. "安金魁"    21551
  12. "安明治"    -6017
  13. "安永庆"        .
  14. end
  15. format %tdD_m_Y V14
复制代码

------------------ copy up to and including the previous line


二维码

扫码加我 拉你入群

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

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

关键词:Stata tata including generated generate

回帖推荐

苦鬼2014 发表于3楼  查看完整内容

试试
沙发
3878 发表于 2021-10-22 15:43:24 |只看作者 |坛友微信交流群
encode V1, gen(v1)
sort v1 V14
gen v0=V14-V14[_n-1] if v1==v1[_n-1]
drop if v0<20

使用道具

藤椅
苦鬼2014 学生认证  发表于 2021-10-22 15:49:36 |只看作者 |坛友微信交流群
试试
  1. * Example generated by -dataex-. To install: ssc install dataex
  2. clear
  3. input str15 V1 long V14
  4. "谭国信"        .
  5. "忻逸华"        .
  6. "Sunny Lai"        21662
  7. "艾佩明"        21749
  8. "艾天清"        21564
  9. "艾天清"        21787 // 间隔大于 20 day
  10. "安洪津"        21678
  11. "安洪津"        21679 // 间隔小于 20 day, 需要删除
  12. "安金魁"        21551
  13. "安明治"        -6017
  14. "安永庆"        .
  15. end
  16. format %tdD_m_Y V14

  17. bys V1: egen V14_min = min(V14)

  18. format %tdD_m_Y V14_min

  19. g V14_gap = ((V14 - V14_min) > 20)
  20. bys V1: replace V14_gap = . if V14 == .

  21. sort V14
  22. duplicates drop V1 V14_gap, force
复制代码

使用道具

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

本版微信群
加好友,备注jltj
拉您入交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-11-6 03:47