我不怎么用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