全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
4298 9
2011-10-27
现有数据例如:
date                   sign
19940103            1
19940103           -1
19940103           -1
19940103            0
19940103            1
19940103            0
       .
       .
19940105            1
19940105            0
19940105            0
19940105            0
19940105            1
19940105           -1
19940105           -1
        .
        .
现在想分别计算出每天的"sign”值为1,-1,和0时占当天"sign"值总数的百分比。也就是对于每一天,有百分之多少的sign值为1,百分之多少的sign值为-1,及多少为0.
我觉得应该是用proc sql语句来做,但苦于不清楚具体应该如何写code,还请高手帮忙 万分感谢!!
二维码

扫码加我 拉你入群

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

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

全部回复
2011-10-27 14:23:07
        data tt;
          input date sign ;
          datalines;
19940103            1
19940103           -1
19940103           -1
19940103            0
19940103            1
19940103            0
19940105            1
19940105            0
19940105            0
19940105            0
19940105            1
19940105           -1
19940105           -1
;
run;

proc sql;
select a.*,b.date_cnt,a.sign_cnt/b.date_cnt as sign_rate
from
(select date,sign,count(*) as sign_cnt from tt group by date,sign ) a
,
(select date,count(*) as date_cnt from tt group by date) b
where a.date=b.date;
quit;
二维码

扫码加我 拉你入群

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

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

2011-10-27 14:38:02
复制代码
二维码

扫码加我 拉你入群

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

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

2011-10-27 15:31:12
yugao1986 发表于 2011-10-27 14:38
十分感谢  原来这么简洁的code就可以了 学习了!!
二维码

扫码加我 拉你入群

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

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

2011-10-27 22:12:53
学习了。
二维码

扫码加我 拉你入群

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

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

2011-10-28 05:31:00
jingju11 发表于 2011-10-27 22:12
FREQ is a very flexible procedure. we can do also do like that:jingju
thx!  this is also an efficient way to do it !
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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