楼主: shenshen0455
12611 26

[原创博文] 请教sas对于频数统计的问题,难!! [推广有奖]

11
456852 发表于 2011-11-8 05:06:31
我不清楚你的频数考不考虑顺序,
比如
a b c d e
1 2 3 4 5
5 4 3 2 1
这两行是否是同一个组合?
如果是,参考这段:
proc datasets lib=work nodetails nolist;delete out;run;
data a;
input a b c d e;
cards;
1 2 3 4 5
3 4 5 6 1
1 3 4 5 6
1 3 4 5 1
5 4 3 2 1
;
data _null_;
set a end=eof;
if eof then call symput('n',left(_n_));
run;
data out;run;
%macro loop();
%do i=1 %to &n;
data out&i;
set a;
if _n_=&i;
run;
proc transpose data=out&i out=out&i(drop=_label_ _name_);
var _numeric_;
run;
proc sort data=out&i out=out&i;by col1;run;
proc transpose data=out&i out=out&i;
var col1;
run;
data out;
set out out&i;
drop _name_;
run;
%end;
data out;set out;if _n_^=1;run;
%mend;
%loop();
data t;
set out;
x=catx(',',col1,col2,col3,col4,col5);
run;
proc sql;select distinct x,count(*) as num from t group by x order by calculated num desc;quit;
如果不是,前面的loop都不需要了,直接从catx那步做起。

12
jingju11 发表于 2011-11-8 07:56:32
Sometimes SQL is good on counting. Jingju
  1. proc sql;
  2. select *, count(*) as n from a ;...quit;
复制代码

13
novice505 发表于 2011-11-8 08:52:34
another solution:
  1. proc freq data=a ;
  2.         tables v1*v2/list;
  3. run;
复制代码

14
tacf 发表于 2011-11-8 08:54:17
用proc SQL也不是很简单嘛。

15
tacf 发表于 2011-11-8 09:06:10
用proc SQL也不是很简单嘛。

16
soporaeternus 发表于 2011-11-8 09:11:02
想不出比sql更简单的方法了......
Let them be hard, but never unjust

17
zhangzachary 发表于 2011-11-8 10:00:05
SQL不错~ 也可以把v1-v5合并成一个var然后用freq,也不麻烦的。
寒冰凤凰 My blog: http://blog.sina.com.cn/u/1058955485

18
hubertweir 发表于 2011-11-8 10:39:49

proc sql;
        create table outdata as
        select x1,x2,x3,x4,x5,count(*) as count from indata
        group by 1,2,3,4,5
        order by count desc;
quit;

19
soporaeternus 发表于 2011-11-8 10:47:05
zhangzachary 发表于 2011-11-8 10:00
SQL不错~ 也可以把v1-v5合并成一个var然后用freq,也不麻烦的。
需要用到v1-v5中都不出现的字符作分隔符
否则
v1 v2
ab a  
a  ba
呵呵......
Let them be hard, but never unjust

20
zhangzachary 发表于 2011-11-8 11:25:39
soporaeternus 发表于 2011-11-8 10:47
需要用到v1-v5中都不出现的字符作分隔符
否则
v1 v2
额对,的确要注意这个,谢谢提醒~~
寒冰凤凰 My blog: http://blog.sina.com.cn/u/1058955485

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-2 05:40