楼主: 一只茜茜
3054 18

[数据管理求助] stata如何将非重复值按大小排序 [推广有奖]

  • 2关注
  • 1粉丝

本科生

5%

还不是VIP/贵宾

-

威望
0
论坛币
2607 个
通用积分
0.4737
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
9100 点
帖子
27
精华
0
在线时间
110 小时
注册时间
2021-9-13
最后登录
2024-5-21

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
各位老师好!
stata小白求助一下
我现已经    ”sort 年份 大小“
我的目的是想对”大小“从小到大排个序,但是用 ”by 年份:gen 排序=_n “ 出来的是第三列,他只是排序了,但是对于相同的大小他是不同的顺序,我想要相同的大小对应相同的排序数值

现结果
年份  大小  排序
2006  1        1
2006  1        2
2006  2        3
2006  3        4
2007  1        1
2007  1        2
2007  3        3
2007  3        4
2007  5        5
2007  5        6
2007  6        7

预期结果
年份  大小  排序
2006  1        1
2006  1        1
2006  2        2
2006  3        3
2007  1        1
2007  1        1
2007  3        2
2007  3        2
2007  5        3
2007  5        3
2007  6        4

二维码

扫码加我 拉你入群

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

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

关键词:Stata tata 重复值 brokers Broker

回帖推荐

DΘstinyじò 发表于17楼  查看完整内容

凑个热闹~ 尝试以下代码:

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

请 ssc install runby 并试试
沙发
黃河泉 在职认证  发表于 2021-12-11 12:00:32 |只看作者 |坛友微信交流群
请 ssc install runby 并试试
  1. * Example generated by -dataex-. For more info, type help dataex
  2. clear
  3. input float(年份 大小 排序)
  4. 2006 1 1
  5. 2006 1 2
  6. 2006 2 3
  7. 2006 3 4
  8. 2007 1 1
  9. 2007 1 2
  10. 2007 3 3
  11. 2007 3 4
  12. 2007 5 5
  13. 2007 5 6
  14. 2007 6 7
  15. end

  16. *bys 年份 (大小): egen wanted = group(大小)

  17. cap program drop bygroup
  18. program define bygroup
  19.   egen wanted = group(大小)
  20. end

  21. runby bygroup, by(年份)
复制代码
已有 2 人评分学术水平 热心指数 信用等级 收起 理由
一只茜茜 + 1 + 1 精彩帖子
Sunknownay + 3 + 3 + 3 热心帮助其他会员

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

使用道具

藤椅
一只茜茜 学生认证  发表于 2021-12-11 12:20:11 |只看作者 |坛友微信交流群
黃河泉 发表于 2021-12-11 12:00
请 ssc install runby 并试试
非常谢谢老师的回答!按照您发的代码我已经跑出来了需要的结果,但是观测值好像变多了?以及可否请老师解释一下19、20、21行的代码是什么意思呢?非常非常感谢老师的回答!!!!刚发出来就收到了您的回复,太感动了呜呜呜!!!![cry][cry]

使用道具

板凳
黃河泉 在职认证  发表于 2021-12-11 12:56:00 |只看作者 |坛友微信交流群
一只茜茜 发表于 2021-12-11 12:20
非常谢谢老师的回答!按照您发的代码我已经跑出来了需要的结果,但是观测值好像变多了?以及可否请老师解 ...
19,20,22 是写 procedure 的标准语法,21 是分组指令,由于其不可分组做 (byable),所以利用 runby 分组做。

使用道具

报纸
silas_x 发表于 2021-12-11 13:33:57 |只看作者 |坛友微信交流群
自己写个do文件吧   可能符合你要求的不好找?

使用道具

地板
一只茜茜 学生认证  发表于 2021-12-11 13:44:47 |只看作者 |坛友微信交流群
黃河泉 发表于 2021-12-11 12:56
19,20,22 是写 procedure 的标准语法,21 是分组指令,由于其不可分组做 (byable),所以利用 runby 分组做 ...
好嘞!谢谢您!

使用道具

7
一只茜茜 学生认证  发表于 2021-12-11 13:45:52 |只看作者 |坛友微信交流群
silas_x 发表于 2021-12-11 13:33
自己写个do文件吧   可能符合你要求的不好找?
呜呜呜这个。。。该怎么写啊晕(((φ(◎ロ◎;)φ))),是指自己编个程序嘛

使用道具

8
silas_x 发表于 2021-12-11 13:47:21 |只看作者 |坛友微信交流群
一只茜茜 发表于 2021-12-11 13:45
呜呜呜这个。。。该怎么写啊晕(((φ(◎ロ◎;)φ))),是指自己编个程序嘛
是的  我看你已经解决问题了?  那就不用那么麻烦了

使用道具

9
一只茜茜 学生认证  发表于 2021-12-11 14:04:03 |只看作者 |坛友微信交流群
黃河泉 发表于 2021-12-11 12:00
请 ssc install runby 并试试
老师好呜呜呜,我又试了一下这个程序,发现运行完了之后我的数据里多了很多重复的观测值,删掉重复观测值后损失了很多数据,不知道是哪里出了问题

使用道具

10
一只茜茜 学生认证  发表于 2021-12-11 14:09:18 |只看作者 |坛友微信交流群
silas_x 发表于 2021-12-11 13:47
是的  我看你已经解决问题了?  那就不用那么麻烦了
可能还需要再试试。。。我本来以为这是个比较基础的操作,排序而已,没想到换了n钟说法百度都找不到答案,只能自己求助了。。。这种do文件该怎么根据自己的需求写啊

使用道具

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

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

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

GMT+8, 2024-5-31 00:02