全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1562 5
2012-10-18
请教一下:

数据集中有一系列的 变量.   level_200801  level_200802  level_200803..... level_201208
然后想列出每个变量的 Freqency, 然后达到下面的效果:

    level_200801     level_200802     ...    level_201208
A      5                          20                         10   
B      10                         10                         10
C      15                          15                         15
D      20                          5                          15


其中A/B/C/D是每个变量的可取值范围。
感觉proc freq 是达不到这个效果的。。。

谢谢啦!!

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2012-10-18 11:03:49
搞不懂,proc freq怎么做不到,对每个变量freq一下,最后merge起来就是你这个效果啊
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-10-18 11:16:59
Imasasor 发表于 2012-10-18 11:03
搞不懂,proc freq怎么做不到,对每个变量freq一下,最后merge起来就是你这个效果啊
谢谢!
这个方法我明白, 但是我要统计的变量太多了,如果用freq,merge的方法 可能会很麻烦.

我是想问可以直接输出成想要的格式吗?  或者用means 输出后在excel里用透视表也可以.

再次感谢. 如果没有别的方法,也只能用freq了.
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-10-18 11:58:38
sailingyf 发表于 2012-10-18 11:16
谢谢!
这个方法我明白, 但是我要统计的变量太多了,如果用freq,merge的方法 可能会很麻烦.
变量多,做宏循环,也不会很麻烦的
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-10-18 12:43:16
data ex;
input a b c;
cards;
1 1 1
2 2 2
3 3 3
4 4 4
2 3 4
;
run;

ods listing close;
ods output onewayfreqs(match_all=list)=freq(keep=table Frequency);
proc freq data=ex;
table a b c;
run;
ods listing;

data total;
set freq:;
table=scan(table,2,"“");
run;

proc transpose data=total out=total1(drop=_name_ _label_);
by table;
proc transpose data=total1 out=total2(drop=_name_);
id table;
var col1-col4;
run;
proc datasets lib=work ;
delete freq:;
run;
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-10-18 17:57:01
收到,谢谢楼上的两位.
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群