SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 647|回复: 3
打印 上一主题 下一主题

如何计算变量取值的频数

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 2008-2-22 15:16:47 | 只看该作者

如何计算变量取值的频数

问题:数据集A,包含一个变量:
a
1
1
2
3
1
2
3
3
想得到一个数据集B,包含两个变量a及其取值对应的频数b,即
a b
1 3
2 2
3 3;
这个该怎么弄呢?大家帮帮帮忙
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
沙发
 楼主| 发表于 2008-2-22 16:02:43 | 只看该作者

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]
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
板凳
 楼主| 发表于 2008-2-22 19:48:40 | 只看该作者

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]
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
地板
 楼主| 发表于 2008-2-24 13:34:03 | 只看该作者

Re: 如何计算变量取值的频数

太感谢了!!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|SAS中文论坛  

GMT+8, 2026-2-4 16:05 , Processed in 0.069799 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表