楼主: 阿璇2016
833 9

[数据管理求助] 排序问题 [推广有奖]

  • 0关注
  • 0粉丝

硕士生

71%

还不是VIP/贵宾

-

威望
0
论坛币
15 个
通用积分
23.1779
学术水平
2 点
热心指数
2 点
信用等级
2 点
经验
2159 点
帖子
115
精华
0
在线时间
155 小时
注册时间
2016-1-11
最后登录
2019-10-10

楼主
阿璇2016 发表于 2019-6-6 15:15:18 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
老师们好,我有个问题想要问下,万分感谢!

我的元数据是这样的, 1.PNG

一个code有4个价格,我想要这4个价格的排名,价格一样的排名一样,价格为空的排名就是空,比如1.2  1.2  1.3  .14 排名为1,1 ,2,3

我想的是先转置,然后用tag,再用sum,但是tag不能分组,不能分code使用,请问有什么好办法呢?
二维码

扫码加我 拉你入群

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

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

关键词:code 万分感谢 ODE COD tag

沙发
黃河泉 在职认证  发表于 2019-6-6 15:43:44
你若要问程序,永远附上相关资料;若附上资料,永远用 dataex 印出资料。
1.        先 ssc install dataex (并见说明),将原始 Stata 资料中具有”代表性”的一部分资料列出,以供有意回答者实验之用,并能提供具体操作指令。
2.        请参考说明 https://bbs.pinggu.org/thread-5048204-1-1.html

藤椅
阿璇2016 发表于 2019-6-6 17:31:45
code                  city        price
Y010103932        重庆        45.5
Y010103932        湖北        45.15
Y010103932        浙江        45
Y010103932        湖南        45
Y010103934        重庆        25
Y010103934        湖北        25
Y010103934        浙江        25
Y010103934        湖南        25

我的数据转置之后是这样的,Y010103932这个编码排名是重庆第一,湖北第二,浙江湖南一样,都是第三,Y010103934这个编码这四个省份一样,排名都是1,我想用egen
  1. bysort code : egen vtag = tag(price)
  2. gen  rank= sum(vtag)
复制代码


但是egen不能by,请问有什么简便的办法吗,谢谢老师

板凳
ritaing 发表于 2019-6-6 22:24:05
阿璇2016 发表于 2019-6-6 17:31
code                  city        price
Y010103932        重庆        45.5
Y010103932        湖北        45.15
help dataex
请使用这个输出数据,方便回答者实验

报纸
阿璇2016 发表于 2019-6-10 09:58:27
ritaing 发表于 2019-6-6 22:24
help dataex
请使用这个输出数据,方便回答者实验
  1. clear
  2. input str14 code byte city float price
  3. "ZZS02090043" 2    3
  4. "ZZS02090043" 1 3.25
  5. "ZZS02090043" 4  3.5
  6. "ZZS02090043" 3    .
  7. "ZZS02070059" 4  2.6
  8. "ZZS02070059" 2  2.6
  9. "ZZS02070059" 1  2.6
  10. "ZZS02070059" 3    .
  11. "ZZS01150003" 1  3.5
  12. "ZZS01150003" 3    .
  13. "ZZS01150003" 4    .
  14. "ZZS01150003" 2    .
  15. "ZXM02010060" 1  .63
  16. "ZXM02010060" 2    .
  17. "ZXM02010060" 3    .
  18. "ZXM02010060" 4    .
  19. "ZSX01150005" 2  2.8
  20. "ZSX01150005" 1  2.9
  21. "ZSX01150005" 4    3
  22. "ZSX01150005" 3    .
  23. "YYY01290052" 2   11
  24. "YYY01290052" 1 15.3
  25. "YYY01290052" 4    .
  26. "YYY01290052" 3    .
  27. end
  28. label values city city
  29. label def city 1 "重庆", modify
  30. label def city 2 "湖北", modify
  31. label def city 3 "浙江", modify
  32. label def city 4 "湖南", modify
  33. label var code "code"
复制代码
谢谢老师指导
我想生成每个code按照price排名,price一样的排名一样,歇息

地板
黃河泉 在职认证  发表于 2019-6-10 10:30:25
阿璇2016 发表于 2019-6-10 09:58
谢谢老师指导
我想生成每个code按照price排名,price一样的排名一样,歇息
请 ssc install runby, 试试
  1. cap program drop temp  
  2. program define temp   
  3.   sort code price
  4.   egen id = group(price)
  5. end

  6. runby temp, by(code)
复制代码

7
阿璇2016 发表于 2019-6-10 17:23:23
黃河泉 发表于 2019-6-10 10:30
请 ssc install runby, 试试
解决了,谢谢老师

8
阿璇2016 发表于 2019-6-10 17:23:25
黃河泉 发表于 2019-6-10 10:30
请 ssc install runby, 试试
解决了,谢谢老师

9
阿璇2016 发表于 2019-6-10 17:23:28
黃河泉 发表于 2019-6-10 10:30
请 ssc install runby, 试试
解决了,谢谢老师

10
阿璇2016 发表于 2019-6-10 17:23:29
黃河泉 发表于 2019-6-10 10:30
请 ssc install runby, 试试
解决了,谢谢老师

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

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