我不怎麽用proc rank,就不另外查manual了。
假設你original dataset是A,
proc sort data = A out = B;by var;run;
data B;
set B;
if first.var then do;
cnt = 0;
retain cnt;
end;
cnt+1;
run;
計算20 percentile是哪一個數值點,這取決於你用哪一種取percentile的方法,記為第n個數值點,then
proc sql;
create table Q20 as
select * from B where cnt le n;
alter table q20 drop cnt;
quit;
proc sql;
create table Q80 as
select * from B where cnt gt n;
alter table Q80 drop cnt;
quit;
Table Q20保存了percentile 20, Q80保存了另外的80%.
可能proc rank會方便一點,下次我也去試試看,謝謝分享:)
here
所有跟帖:
• 非常感謝! 以後還要多向你請教! -Janezhu- ♀ (0 bytes) () 04/20/2010 postreply 22:03:04