SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 575|回复: 0
打印 上一主题 下一主题

求助关于用iml解决矩阵的频率问题

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 2009-5-8 21:52:29 | 只看该作者

求助关于用iml解决矩阵的频率问题

假设有数据如下:
data test;
input id x1$ x2$ y$;
cards;
1 a1 b1 m
2 a1 b1 m
3 a2 b2 m
4 a1 b1 n
5 a1 b2 n
;
run;
我想知道对于变量y的每一个值,如y='m',对应的所有x变量的取值分布,举例:
proc freq data=test(where=(y='m'));
table x1/out=w;
run;
结果:

x1        频数统计        总频数百分比
a1        2        66.6667
a2        1        33.3333

对于y的每一个值,所有x变量的取值分布都可以用proc freq 得到上面的结果。用macro可以很轻松的实现。
我的问题是:
用macro需要两层循环:第一层是对变量y的值进行循环;第二层是对每一个x变量进行循环。如果数据很大,这个循环很消耗时间。
[b:249ngv58]能否在iml里面通过矩阵实现?[/b:249ngv58]多谢高手指点!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-5 16:06 , Processed in 0.127865 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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