楼主: fengganlei
1227 6

烦请大神们写段统计程序,计算每周通过率 [推广有奖]

  • 1关注
  • 1粉丝

高中生

30%

还不是VIP/贵宾

-

威望
0
论坛币
11 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
390 点
帖子
23
精华
0
在线时间
22 小时
注册时间
2008-10-11
最后登录
2019-2-18

楼主
fengganlei 发表于 2016-11-29 09:04:07 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
序号     通过      时间
1        是         2016/11/7
1        否         2016/11/9
1        是          2016/11/29
2        是           2016/11/7
2        否          2016/11/8
3        否          2016/11/10
3         否          2016/11/7
4         是          2016/11/6

如何通过写SAS程序,得到“每周的通过率”
二维码

扫码加我 拉你入群

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

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

关键词:统计程序 通过率 sas程序 程序 统计 通过率

沙发
prince315 在职认证  发表于 2016-11-29 11:15:30
  1. data test;
  2. input
  3.         id : 8.
  4.         pass : $ 8.
  5.         dt : yymmdd10.
  6. ;
  7. format dt yymmdd10.;
  8. cards;
  9. 1 是 2016/11/7
  10. 1 否 2016/11/9
  11. 1 是 2016/11/29
  12. 2 是 2016/11/7
  13. 2 否 2016/11/8
  14. 3 否 2016/11/10
  15. 3 否 2016/11/7
  16. 4 是 2016/11/6
  17. ;
  18. run;

  19. proc sql;
  20. select distinct week(dt) as wk, sum(pass = '是')/count(1) as rt format percent8.2
  21. from test
  22. group by week(dt)
  23. ;
  24. quit;
复制代码
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
fengganlei + 1 + 1 + 1 精彩帖子

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

藤椅
wang1839 在职认证  发表于 2016-11-29 11:27:49
  1. data a;
  2. length date $10;
  3. input no pass $     date $;
  4. cards;
  5. 1        是         2016/11/7
  6. 1        否         2016/11/9
  7. 1        是         2016/11/29
  8. 2        是         2016/11/7
  9. 2        否         2016/11/8
  10. 3        否         2016/11/10
  11. 3        否         2016/11/7
  12. 4        是         2016/11/6
  13. ;
  14. run;

  15. data b;
  16.         set a;
  17.         week=week(input(date,yymmdd10.));
  18.         seq=0;
  19.         output;
  20.         if pass="是" then do;
  21.     seq=1;
  22.         output;
  23.         end;
  24. run;

  25. proc sql;
  26.         create table tot as select count(no) as n,week,seq from b group by week,seq;
  27.         quit;

  28. data final;
  29.         merge tot(where=(seq=0) rename=(n=tot))  tot(where=(seq=1)) ;
  30.         by week;
  31.         rate=put(n/tot*100,5.1)||'%';
  32. run;
复制代码
已有 2 人评分经验 学术水平 热心指数 信用等级 收起 理由
fengganlei + 1 + 1 + 1 精彩帖子
prince315 + 20 + 1 热心帮助其他会员

总评分: 经验 + 20  学术水平 + 1  热心指数 + 2  信用等级 + 1   查看全部评分

板凳
fengganlei 发表于 2016-11-29 14:14:51
prince315 发表于 2016-11-29 11:15
能否同时告知下,如何将 文本格式的“2016/11/11”转换成日期格式的“20161111”吗? 小白如我实在是不会啊

报纸
wang1839 在职认证  发表于 2016-11-29 14:33:58
compress(date,'/')

地板
fengganlei 发表于 2016-11-29 16:29:44
wang1839 发表于 2016-11-29 14:33
compress(date,'/')
能帮我写进代码吗? 不知道怎么放置啊

7
fengganlei 发表于 2016-11-29 16:29:45
wang1839 发表于 2016-11-29 14:33
compress(date,'/')
能帮我写进代码吗? 不知道怎么放置啊

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-26 14:56