如何对 SAS 进行棘手的排名? [英] How to tricky rank SAS?
本文介绍了如何对 SAS 进行棘手的排名?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
SO 例如我有这样的数据,
SO For example I have data like this,
KEY first count
11Y 1
11Y 2
11N 3
11N 4
11Y 5
11N 6
我想这样出来
KEY first count RANKS
11Y 1 1
11Y 2 1
11N 3 2
11N 4 2
11Y 5 3
11N 6 4
我可以在 SAS 中做什么?
how can I do in SAS?
谢谢
我做到了
proc sort data=step3;
by first_count key;
run;
data step4;
set step3;
by key;
if first.key THEN ranks=1;
else ranks+1;
run;
这导致错误
错误:BY 变量未在数据集 WORK.STEP3 上正确排序
ERROR: BY variables are not properly sorted on data set WORK.STEP3
推荐答案
您需要 NOTSORTED.
You need NOTSORTED.
data key;
input KEY:$3. count;
cards;
11Y 1
11Y 2
11N 3
11N 4
11Y 5
11N 6
;
run;
data key2;
set key;
by key NOTSORTED;
if first.key then rank+1;
run;
proc print;
run;
这篇关于如何对 SAS 进行棘手的排名?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文