楼主: Dylan890328
1489 3

[问答] SAS计算GPA基础题悬赏4,现增至1500金币! [推广有奖]

  • 0关注
  • 0粉丝

硕士生

36%

还不是VIP/贵宾

-

威望
0
论坛币
2 个
通用积分
0
学术水平
3 点
热心指数
0 点
信用等级
0 点
经验
931 点
帖子
76
精华
0
在线时间
184 小时
注册时间
2010-9-15
最后登录
2022-6-22

1500论坛币
REPORT 4: 数据见“SAS计算GPA基础题悬赏1”悬赏1已经解决,现将悬赏2,3,4分别提高至1500论坛币!有问题也可以直接联系本人,QQ:1125120164
制作一个report,按学生ID排序,report内容如下:

1. Sorted list by GPA of the top 10% of the students,
who have more than 60hours but less than 130


(将总共学了大于60个但小于130个学分的学生进行GPA排序,选出GPA排名在前10%的学生)
2. Sorted list by GPA of the top 10% of thestudents, who have more than 20 hours of Statistics & Math Graded Credit
(将总共学了大于20个学分的统计课和数学课的学生进行排序,选出GPA排名在前10%的学生) 统计课和数学课即课程代号里有STAT 或者MATH的课

原始数据解释:原始数据形如:
  1. FQ7JO@175@ENGL 111 @3.0@B-@
复制代码
学生ID: FQ7JO (即第一个@前面的)
Semester 代号: 175 (即第一个@和第二个@之间的东西)
课程代号:ENGL 111
(即第二个@和第三个@之间的东西)
该课的学分: 3.0 (即第三个@和第四个@之间的东西)
该课的成绩:B- (即第四个@和第五个@之间的东西)
GPA计算方式 A: 4.0
A-: 3.7
B+: 3.4
B: 3.0
B-: 2.7
C+ 2.4
C: 2.0
C-:1.7
D+:1.4
D:1.0
D-:0.7
E,UW, IE, WE0.0
其他的成绩如W, P, I, NS, T 都不算在GPA里。


GPA的算法例子:加权平均, 比如一个学生选了四门课,第一门课4个学分,得了A, 第二门3个学分得了B,第三门2个学分得了UW, 第四门课1个学分得了P那这个学生的GPA是:4.0*4+3.0*3+0.0*2/ (4+3+2) = 2.78第四门课没有计算因为P不算GPA.

要求:
1. Report 里面每个变量都要labeled.
2. 运用PROC SQL 进行queries subsettingdata
3. 运用MACRO 减少重复的code.
4. 运用 PROC REPORT 来做所有的报告
5. 运用ODS 制作网页
6. 运用ARRAYS 简化代码

关键词:GPA 基础题 proc report Statistics statistic 基础 SAS 金币 悬赏 GPA
沙发
Dylan890328 发表于 2010-12-13 09:20:45 |只看作者 |坛友微信交流群
悬赏1已经解决,多谢各位高手在1中提供的帮助,现将悬赏2,3,4分别提高至1500论坛币!有问题也可以直接联系本人,QQ:1125120164

使用道具

藤椅
jeozu 发表于 2010-12-13 10:05:53 |只看作者 |坛友微信交流群
  1. proc sql noprint;
  2. create table tmp1 as
  3. select ID
  4.      , sum(credits*gpa)/sum(credits) as GPA1
  5. from gpa
  6. group by ID
  7. having sum(credits)>60
  8.    and sum(gpa)<130
  9. order by GPA1 desc
  10. ;
  11. create table report4_1 as
  12. select ID
  13.      , monotonic()/count(ID) as percent
  14. from tmp1
  15. having percent <0.1
  16. ;
  17. quit;
  18. proc sql noprint;
  19. create table tmp2 as
  20. select a.ID
  21.      , b.gpa
  22. (
  23. select ID
  24.    from gpa
  25.    where (course like "MATH%" or course like "STAT%")
  26.    group by ID
  27.    having sum(credits)>20
  28. ) a
  29. left join
  30. (select ID
  31.      , sum(credits*gpa)/sum(credits) as gpa
  32. from gpa
  33. group by id
  34. ) b
  35. on a.ID=b.ID
  36. order by gpa desc
  37. ;
  38. create table report4_2 as
  39. select ID
  40.      , monotonic()/count(ID) as percent
  41. from tmp2
  42. having percent <0.1
  43. ;
  44. quit;
复制代码

使用道具

板凳
hongxx 发表于 2010-12-14 20:41:28 |只看作者 |坛友微信交流群
这钱真好赚。

这些问题不是很难。楼主应该自己琢磨去搞定。

使用道具

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

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

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

GMT+8, 2024-5-6 13:29