作者MmmRrrrX (银色的灵魂)
站内Statistics
标题Re: [问题] 已排序的资料中 界定最大值与次大值??
时间Sat Mar 19 01:45:15 2011
※ 引述《Suertue (Suertue)》之铭言:
: 请问熟悉SAS的大大们~~
: 要怎麽在一群已排序过的数值中,界定最大值与次大值
: (我是SAS超级新手>”<)
: 像原本资料是这样:
: company money X Y
: 1101 10800000 1 0
: 1101 7500000 0 1
: 1101 7100000 0 0
: 1101 5680000 0 0
: 1101 3880400 0 0
: 1102 20000000 1 0
: 1102 1999342 0 1
: 1102 999205 0 0
: 1102 998493 0 0
: 1102 810000 0 0
: X就是在各个company中,money值最高的,X就是1,其他0
: money值次高的,Y就等於1,其他0
: 我想应该有BY company吧…
: 想请问各位高手们,能不能教教我该怎麽写
: 因为我的资料有十万多笔 慢慢调整XY的话眼睛会脱窗
: 感激不尽...
data newdata;
set yourdata;
by company;
if first.company then temp=0;
retain temp;
temp=temp+1;
if temp=1 then x=1; else x=0;
if temp=2 then y=1; else y=0;
drop temp;
run;
这是在money已经排序过後的写法
如果没排序过 又希望资料回复原先的排列
可能要再多做一个中间的变数来做sort的动作
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.119.202.140
※ 编辑: MmmRrrrX 来自: 140.119.202.140 (03/19 01:45)
1F:推 Suertue:感谢^^ 03/19 14:15