楼主: mengdengliao
1611 1

[数据管理求助] 在删除重复值的时候,如何按照自己的想法保留某个重复值 [推广有奖]

  • 0关注
  • 0粉丝

大专生

55%

还不是VIP/贵宾

-

威望
0
论坛币
475 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
445 点
帖子
35
精华
0
在线时间
53 小时
注册时间
2015-6-13
最后登录
2020-5-16

楼主
mengdengliao 发表于 2018-2-1 20:57:20 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
第一次用这个dataex功能,不知能能不能成功

在这个数据里,62号基金2016年2季度的观测值有两个(原因是中途基金发生了一次转型)。所以两行观测值就symbol, year, reporttypeid(季度)是一样的。但是我想要enddate更晚的那一个(t=2)的那个值,而删掉更早日期的那一行重复值,不知道如何实现?请大神们赐教。我看了之前的帖子有保留更早日期的做法,但是无论我用sort还是gsort都没办法让更晚的日期保留下来。

  1. * Example generated by -dataex-. To install: ssc install dataex
  2. clear
  3. input long symbol int year byte reporttypeid str10(startdate enddate) float t
  4. 62 2013 3 "2013/7/1"  "2013/9/30"  1
  5. 62 2013 4 "2013/10/1" "2013/12/31" 1
  6. 62 2014 1 "2014/1/1"  "2014/3/31"  1
  7. 62 2014 2 "2014/4/1"  "2014/6/30"  1
  8. 62 2014 3 "2014/7/1"  "2014/9/30"  1
  9. 62 2014 4 "2014/10/1" "2014/12/31" 1
  10. 62 2015 1 "2015/1/1"  "2015/3/31"  1
  11. 62 2015 2 "2015/4/1"  "2015/6/30"  1
  12. 62 2015 3 "2015/7/1"  "2015/9/30"  1
  13. 62 2015 4 "2015/10/1" "2015/12/31" 1
  14. 62 2016 1 "2016/1/1"  "2016/3/31"  1
  15. 62 2016 2 "2016/4/1"  "2016/4/24"  1
  16. 62 2016 2 "2016/4/25" "2016/6/30"  2
  17. 62 2016 3 "2016/7/1"  "2016/9/30"  1
  18. 62 2016 4 "2016/10/1" "2016/12/31" 1
  19. 62 2017 1 "2017/1/1"  "2017/3/31"  1
  20. 62 2017 2 "2017/4/1"  "2017/6/30"  1
  21. 62 2017 3 "2017/7/1"  "2017/9/30"  1
  22. 62 2017 4 "2017/10/1" "2017/12/31" 1
  23. end
复制代码



二维码

扫码加我 拉你入群

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

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


沙发
黃河泉 在职认证  发表于 2018-2-2 07:47:58
试试
  1. duplicates tag symbol year reporttypeid, gen(tag)
  2. drop if t == 1 & tag == 1
复制代码
已有 1 人评分论坛币 收起 理由
机智的小球球IU + 5 精彩帖子

总评分: 论坛币 + 5   查看全部评分

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

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2026-2-21 07:09