全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
2689 3
2020-02-16
求助大神,一个有关排名并生成编号的问题。

示例数据如文末所示,假设有17个城市(city_id),两个月(month)的数据。要研究的变量是重污染天数(polluted_day)。

现希望按月对17个城市的重污染天数进行排名。

已经使用了如下命令,生成了一个排名变量:
复制代码

但现在在对并列个体的排名处理上出现了问题。

stata提供的rank函数只有四种排名方式:默认、field、track、unique。分别对应:由小到大排序,并将并列值取所有排序值的均值;由大到小,并将并列值取最大值;由小到大,并将重复值取最小值;从小到大,并将重复值随机分配。
这四种分类方式均不能满足我的要求。这四类排序方法均会使排序的最大值等于截面样本个数。以70  80  90  90  100五个值为例,上述四种排序方法的结果依次是:1  2  3.5  3.5  5 ;5  4  3  3  1; 1  2  3  3  5; 1  2  4  3  5。我不希望并列值占用后续个体的排名,我希望的结果是:1  2  3  3  4

尝试了用group函数加_n的编号方法,但也不成功,因为无法使用by命令。

希望获得解答,得到如上排序结果!


以下为部分数据展示。

复制代码

初次发帖,如有不当,还请见谅!

希望获得高手指教!

二维码

扫码加我 拉你入群

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

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

全部回复
2020-2-16 08:59:24
请先安装 ssc install runby, 试试
复制代码
二维码

扫码加我 拉你入群

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

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

2020-2-16 09:10:23
或是
复制代码
二维码

扫码加我 拉你入群

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

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

2020-2-16 10:24:24
感谢感谢!两种方法都好用。只是不知道原理。慢慢学习吧!多谢!
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群