分组汇总比较简单,关键是按收入的高低来分为三组的实现.
proc univariate data=temp;
var inc;
output out=temp1 pctlpts=33 67 pctlpre=pre;
run;
输出数据集将包含33%分位数和67%分位数.然后建立分组变量.分组别来计算平均值.
data a;
set temp;
if _n_=1 then set temp1;
if inc<=pre33 then gr="第一组";
else if inc<=pre67 then gr="第二组";
else gr="第三组";
run;
proc sql;
select avg(inc) as avginc,
avg(exp) as avgexp,
avg(tax) as avgtax
from a
group by gr;
quit;