楼主: xiazhaoyang
1277 3

[作业] 求助!!写一个宏,分析并计算以下数据每个ID正确答案的个数和得分。跪谢各位大佬!! [推广有奖]

  • 0关注
  • 0粉丝

初中生

9%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
50 点
帖子
1
精华
0
在线时间
22 小时
注册时间
2020-2-13
最后登录
2022-11-4

楼主
xiazhaoyang 发表于 2020-12-18 02:08:38 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
数据是:
ID Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q8 Q9 Q10
291192 A C C B D E D B B A
593137 B C C E E D B A A
721311 A C C B D D E B B C
345221 B C C A D B B C A D
193920 A C C B E E D B B A
257672 B C C B D D D B B A
357899 C C C B E E E B B A
564332 A C C B E E D B B A
111033 A C B D D D B B A
445732 C C C C E E D B B B
824610 B B E B E E D B B A
774235 A C C B E E D B B A
943244 C C C B E E D B B A
647893 A C C B E E E B B A
432118 A C C B E E D B B A
正确答案是:A C C B E E D B B A
前5个问题对一个1分,后五个对一个2分。写一个宏函数,计算每个人对了多少个以及得了多少分。
二维码

扫码加我 拉你入群

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

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

关键词:正确答案 宏函数 sas宏函数 求助! sas 求助

沙发
jg.sas 发表于 2020-12-18 14:10:04
transpose 之后和正确答案merge

藤椅
banishurface 学生认证  发表于 2020-12-23 19:15:44
一定要写宏么,是的话可以换个做法,不写宏的话下面这个够了
proc sql noprint;
create table result as
        select *
                        ,(case when q1='A' then 1 else 0 end)
                        +(case when q2='C' then 1 else 0 end)
                        +(case when q3='C' then 1 else 0 end)
                        +(case when q4='B' then 1 else 0 end)
                        +(case when q5='E' then 1 else 0 end)
                        +(case when q6='E' then 2 else 0 end)
                        +(case when q7='D' then 2 else 0 end)
                        +(case when q8='B' then 2 else 0 end)
                        +(case when q9='B' then 2 else 0 end)
                        +(case when q10='A' then 2 else 0 end)
                        as score
                        ,(case when q1='A' then 1 else 0 end)
                        +(case when q2='C' then 1 else 0 end)
                        +(case when q3='C' then 1 else 0 end)
                        +(case when q4='B' then 1 else 0 end)
                        +(case when q5='E' then 1 else 0 end)
                        +(case when q6='E' then 1 else 0 end)
                        +(case when q7='D' then 1 else 0 end)
                        +(case when q8='B' then 1 else 0 end)
                        +(case when q9='B' then 1 else 0 end)
                        +(case when q10='A' then 1 else 0 end)
                        as correct
from data
;
quit;

板凳
孤单的我们 发表于 2020-12-24 11:56:49
数组就解决了。。。
  1. data a;
  2.         input x1 x2 x3;
  3.         datalines;
  4.         1 2 3
  5.         2 2 3
  6.         1 1 3
  7.         0 0 3
  8.         ;
  9. run;

  10. data b;
  11.         set a;
  12.         corr='1 2 3';
  13.         score=0;
  14.         array x x1-x3;
  15.         do i=1 to 3;
  16.                 if x[i]=scan(corr,i, ' ') then score+1;
  17.         end;
  18.         drop i;
  19. run;
复制代码

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

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