SAS中文论坛

标题: 如何计算变量取值的频数 [打印本页]

作者: shiyiming    时间: 2008-2-22 15:16
标题: 如何计算变量取值的频数
问题:数据集A,包含一个变量:
a
1
1
2
3
1
2
3
3
想得到一个数据集B,包含两个变量a及其取值对应的频数b,即
a b
1 3
2 2
3 3;
这个该怎么弄呢?大家帮帮帮忙
作者: shiyiming    时间: 2008-2-22 16:02
标题: Re: 如何计算变量取值的频数
[code:316d1wup]data a;
input a;
cards;
1
1
2
3
1
2
3
3
;
proc freq data=a noprint;
tables a/out=b(drop=percent rename=(count=b));
run;[/code:316d1wup]
作者: shiyiming    时间: 2008-2-22 19:48
标题: Re: 如何计算变量取值的频数
[code:6z915gfm]
/*方法一:proc means*/
proc means data=A nway noprint;
        class a;
        output out=B(drop=_type_ rename=(_freq_=b));
run;

/*方法二:first.a和last.a*/
proc sort data=A out=TEMP;
        by a;
run;
data B;
        set TEMP;
        by a;
        retain b;
        if first.a then b=0;
        b+1;
        if last.a;
run;
[/code:6z915gfm]
作者: shiyiming    时间: 2008-2-24 13:34
标题: Re: 如何计算变量取值的频数
太感谢了!!




欢迎光临 SAS中文论坛 (https://mysas.net/forum/) Powered by Discuz! X3.2