全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
2162 7
2007-09-02

初学SAS,有个小问题,向大家求教:

有10个0-1变量,x1-x10,想得到如下统计表

变量

Frequency(等于1的频数)

=1的百分比

X1

X2

X3

X4

X5

X6

X7

X8

X9

X10

怎么写啊?麻烦指导一下啊

二维码

扫码加我 拉你入群

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

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

全部回复
2007-9-2 22:28:00

前几天不小心发了一些重复的帖子,被狂扣分,靠

还有发一个sas web的,结果点成了macro的一本书,还被人骂是骗子,郁闷

穷疯了,只有帮楼主写东西了。。。版主,请加分吧,我等着那100元买书啊!!!!!!!!!!!!!!!

ps:用proc freq也可以写,不过为了赶时间就讲究了吧,希望你能看得懂。。。




data aa ;
input x1-x10 ;
datalines ;
1 0 1 0 1 0 1 1 1 1
0 1 0 0 0 0 0 0 0 0
1 1 1 1 0 1 0 1 0 1
1 0 1 1 0 0 0 0 1 1
;
run ;
* 这个是定义你的数据 ;


data aa1 ;
set aa ;
array xn[10] x1 - x10 ;
do i = 1 to 10 ;
new= xn ;
id = i ;
output ;
end ;
keep new id ;
run ;
* 纵向拆分 ;
proc sort data = aa1 ;
by id ;
run ;
proc means data = aa1 noprint ;
by id ;
var new ;
output out= aa2
mean= ;
run ;
data final (rename= (id = x _freq_= frequency_of_one new= percentage_of_one ));
set aa2 ;
_freq_ = _freq_*new ;
drop _type_ ;
run ;

*整理成你要的格式 ;

[此贴子已经被作者于2007-9-2 22:33:18编辑过]

二维码

扫码加我 拉你入群

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

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

2007-9-2 22:52:00

好人啊,谢谢阿,你老兄要真急用100元买书,我正好前段时间卖书赚了一点小钱,

可以送你一百,说不准以后还有问题向你请教呢:) 只是我不知道怎么转给你100,

或者你随便发个100元的出售帖,我就可以给你100了.

二维码

扫码加我 拉你入群

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

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

2007-9-3 05:56:00
已经奖励
二维码

扫码加我 拉你入群

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

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

2007-9-5 01:11:00
that's too complicated. One of the simpler soluation could be :
data aa ;
input x1-x10 ;
datalines ;
1 0 1 0 1 0 1 1 1 1
0 1 0 0 0 0 0 0 0 0
1 1 1 1 0 1 0 1 0 1
1 0 1 1 0 0 0 0 1 1
;
data aa1;
set aa;
array one x1-x10;
array two xx1-xx10;
do i= 1 to 10;
if one(i) ne 1 then two(i)=.;
else two(i)=one(i);
end;
proc means data = aa1 n mean;
run;
Then you can find the answer in the output.
二维码

扫码加我 拉你入群

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

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

2007-9-5 03:05:00

楼上的构思巧妙,但是既然要写就要写完整啊。

二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

分享

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