楼主: winddr
1717 3

SAS 编程求教:根据实时评分输出累计数 [推广有奖]

  • 0关注
  • 9粉丝

博士生

89%

还不是VIP/贵宾

-

威望
0
论坛币
133 个
通用积分
2.0697
学术水平
5 点
热心指数
7 点
信用等级
3 点
经验
4303 点
帖子
166
精华
0
在线时间
513 小时
注册时间
2006-3-4
最后登录
2024-4-12

相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
假设有以下数据:
timeidscore
114
1223
3333
4545
5515
6734
875
8861
8922
12033
time是solution的提交时间,id是solution编号,score是对solution的评分。评阅人可以重复对相同solution评分,如solution1 在time=1和time=55时被分别评分4和5。现想根据此实时评分结果输出累计得分数,如下:
timeidscoreaccumulate_1accumulate_2accumulate_3accumulate_4accumulate_5
11400010
122300110
333300210
454500211
551500202
673400112
87500112
886110112
892211012
1203311102
难点在于,有些solution是被重复打分的,后面的打分会覆盖前面的打分信息,且要根据新的打分信息更新累计数,即原来的得分的累计数要减一,新的得分的累计数要加一。请教各位如何实现?谢谢大家。
二维码

扫码加我 拉你入群

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

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

关键词:累计数 Solution solutio Soluti score solution 信息

沙发
calsunny 发表于 2015-8-5 05:40:49 |只看作者 |坛友微信交流群
累计得分数是怎么计算的?

使用道具

藤椅
winddr 发表于 2015-8-5 14:32:46 |只看作者 |坛友微信交流群
calsunny 发表于 2015-8-5 05:40
累计得分数是怎么计算的?
就是对应的变量的累积和。

使用道具

板凳
yongyitian 发表于 2015-8-6 08:11:33 |只看作者 |坛友微信交流群
  1. data have;
  2. input time id score;
  3. datalines;
  4. 1        1        4
  5. 12        2        3
  6. 33        3        3
  7. 45        4        5
  8. 55        1        5
  9. 67        3        4
  10. 87        5        .
  11. 88        6        1
  12. 89        2        2
  13. 120        3        3
  14. ; run;

  15. data want;
  16.    set have;
  17.    array accu_{5} ( 0 0 0 0 0);
  18.    array last_score{6} (0 0 0 0 0 0);
  19.    retain accu_ : last_score;
  20.    if   1<= score <= 5 then do;
  21.      accu_[score]+1 ;
  22.        if last_score[id] > 0 and last_score[id] ^= score then do;
  23.                 lastScore = last_score[id];
  24.          accu_[lastscore] = accu_[lastscore] - 1;
  25.        end;
  26.    end;
  27.            last_score[id] = score;
  28.    drop last_score: lastScore ;
  29. run;

  30. proc print data= want; title 'want'; run; title;
复制代码


MP742.PNG

使用道具

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

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-25 20:04