You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用PROC RANK实现无重复排名?替换平局时的平均排名

使用PROC RANK实现连续排名(处理平局)

可以直接通过PROC RANK实现你的需求,无需编写数据步。只需要在PROC RANK语句中添加ties=sequential选项,该选项会让重复值按照它们在原数据集中的出现顺序分配连续的排名,替代默认的平均排名逻辑。

修改后的代码

data have;
  input x;
  datalines;
100
200
333
333
;
run;

proc rank data=have out=want ties=sequential;
  var x;
  ranks x_rank;
run;

效果说明

运行上述代码后,输出数据集want中的x_rank列会得到1,2,3,4的连续排名,完全符合你要求的“依次分配3和4”的逻辑。

多变量排名扩展

如果需要对多个变量进行排名,只需在var语句中列出所有目标变量,同时在ranks语句中对应指定每个变量的排名列名即可,示例如下:

proc rank data=have_multi out=want_multi ties=sequential;
  var x y z;
  ranks x_rank y_rank z_rank;
run;

内容的提问来源于stack exchange,提问作者Robert Penridge

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 23:45:41