<P>假设有一组数据 -----3个变量:收入(inc)、支出(EXP)、所得税(TAX),N个观测。</P>
<P>请问如何进行分组汇总,比如按收入高低分成3等份 ,然后求高、中、低3个收入组的收入、支出、所得税的均值。</P>

|
楼主: longway999
|
15608
9
[原创博文] 请教:SAS中如何分组汇总 |
|
已卖:42份资源 大专生 55%
-
|
回帖推荐分组汇总比较简单,关键是按收入的高低来分为三组的实现.
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 a ...
楼上的贴 well-done! 我再加一些:
1. proc sql 部分,与以下code相同:
proc means data=a mean std median p25 p75 min max maxdec=2;
class gr;
var inc exp tax;
run;
Also you can use proc tabulate, proc summary, proc univariate to get 收入、支出、所得税的均值.
2. 如果你想算P 值, 比较三组的收入、支出、所得税的均值的不同,use proc glm:
proc glm data=a;
model inc=gr;
run;
proc glm data=a;
model ...
本帖被以下文库推荐
| ||
|
|
| ||
| ||
| ||
| ||
加好友,备注cda京ICP备16021002号-2 京B2-20170662号
京公网安备 11010802022788号
论坛法律顾问:王进律师
知识产权保护声明
免责及隐私声明


