楼主: 紫萍梦觅
11229 7

[编程问题求助] 如何将一列数中按数值大小分组,最大的排在前面 [推广有奖]

  • 2关注
  • 0粉丝

已卖:32份资源

大专生

20%

还不是VIP/贵宾

-

威望
0
论坛币
277 个
通用积分
0.0022
学术水平
4 点
热心指数
4 点
信用等级
0 点
经验
252 点
帖子
28
精华
0
在线时间
45 小时
注册时间
2014-11-2
最后登录
2017-4-17

楼主
紫萍梦觅 发表于 2016-8-8 08:34:45 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
请教大家:stata中有一列数,大概500个数,有10种左右数值,现在需要将一列数从大到小排名,最大的数排名为1,第二的数排名为2等等。
但是如果用rank函数的话,最大的数为1,但是二个数就不会是2,会像班级成绩排名那种,如果第一个大的数有40个的话,第二大的数就会是41名,就不显示第二名了。
所以,我想是不是可以把这列数按照数值的大小来分组,相同数值的为一组,这样第二大的数就会显示为2了。但是不知道这样的分组的函数应该用什么。。。请大家帮帮忙~~~
二维码

扫码加我 拉你入群

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

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

关键词:最大的 Stata Rank tata 不知道 排序 分组 数值大小

回帖推荐

statax 发表于2楼  查看完整内容

假设x有500个数,分为10组,可以用: sort x egen gx=group(10)

沙发
statax 发表于 2016-8-8 09:52:22
假设x有500个数,分为10组,可以用:
sort x
egen gx=group(10)

藤椅
紫萍梦觅 发表于 2016-8-8 15:37:15
statax 发表于 2016-8-8 09:52
假设x有500个数,分为10组,可以用:
sort x
egen gx=group(10)
并不是平均个数分组,是想按照数值,一样数的一组

板凳
statax 发表于 2016-8-8 16:21:31
紫萍梦觅 发表于 2016-8-8 15:37
并不是平均个数分组,是想按照数值,一样数的一组
我给的命令不是“平均个数分组”,10是我按你说的举的一个列子,正常应先用tab命令,看应该分为多少组,再用我给的命令。 你可以执行一下我这个命令看是否满足需要,或者把你想要的结果用图形贴一个示意图吧,不太了解你的意思。

报纸
紫萍梦觅 发表于 2016-8-8 18:33:15
statax 发表于 2016-8-8 16:21
我给的命令不是“平均个数分组”,10是我按你说的举的一个列子,正常应先用tab命令,看应该分为多少组,再 ...
抱歉,是我前面理解错误了,你的方法是能按照数值分组的,但是因为我想要得到排名,所以,请问,这个分组能够按从大到小分么?

地板
蓝色 发表于 2016-8-8 18:48:35
把原始的数据和你想要最后产生的数据,贴出来一部分,这样别人才能知道你到底想实现什么

就像人家这个帖子一样,https://bbs.pinggu.org/thread-4681079-1-1.html
别人一看就知道干什么

讨论了这么多,还是不知道你到底想做什么。


7
statax 发表于 2016-8-8 18:50:20 来自手机
如果从大到小,先把x按降序排列,再用此命令试试。没做过从大到小的。

8
徐宇燊 发表于 2023-10-3 20:08:26
试一试SQL的dense rank

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

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2025-12-29 02:54