这是我自己找到的winsorize程序:proc sort data=info;by fyear;
proc means data=info;
var roa roe;
by fyear;
output out=tmp(drop=_freq_ _type_) p1=x1-x2 p99=y1-y2;run;
data winsorize1_info;
merge info tmp;
by fyear;
array z{1:2} roa roe;
array x{1:2} x1-x2;
array y{1:2} y1-y2;
do i=1 to 2;
if .<z<x then z=x;
if z>y then z=y;
end; run;
程序我基本可以看懂,但是我不明白,为什么新生成的 winsorize1_info 中,i的值等于3呢?
谁能帮我解释解释吗?谢谢了!



雷达卡





京公网安备 11010802022788号







