求助大神,一个有关排名并生成编号的问题。
示例数据如文末所示,假设有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命令。
希望获得解答,得到如上排序结果!
以下为部分数据展示。
初次发帖,如有不当,还请见谅!
希望获得高手指教!