本人是这个学期刚刚接触SAS,对这道题一直无法搞清楚。第一次到这个论坛上,希望高手们能帮一帮我把这个程序编出来。
题是英文题,如有人愿意帮忙但需要中文的话,请回复告知我,我会把题翻成中文。
题:
程序是用来统计和分类这个格式的数据:
K2EMN@591@MANEC 300 @3.0@B @
K2EMN@591@MATH 113 @4.0@C @
K2EMN@591@STAT 322 @1.0@P @
K2EMN@591@STAT 334 @3.0@A-@
K2EMN@591@STAT 336 @3.0@B @
MPCGK@591@ECON 110 @3.0@C+@
MPCGK@591@STAT 321 @3.0@B+@
MPCGK@591@STAT 322 @1.0@P @
MPCGK@591@STAT 361 @3.0@C+@
MPCGK@591@STAT 520 @3.0@C-@
NPMCS@591@COMMS 101 @2.0@A-@
NPMCS@591@COMMS 201 @2.0@B+@
NPMCS@591@COMMS 255 @3.0@A-@
NPMCS@591@PHY S 100 @3.0@B-@
NPMCS@591@PL SC 110 @3.0@B+@
NPMCS@591@REL A 301 @2.0@A-@
P2I8P@591@A HTG 100 @3.0@B @
学生号@学期号@课程名字@课程所值学分@该学生此课的字母成绩@学生姓名(有的数据文档有学生姓名,有的没有)
这些数据是以txt形式储存起来的文档,共有56个。要求是程序通过MACRO,只需要载入不同文件名,就可以把56个文档里的资料逐个统计分类。
制作4个HTML格式的报告:
报告1
按学期号分类后:
再按学生号分类:
计算并输出每个学生该学期的平均GPA成绩(比如说最后一个学生NPMCS,他在591学期的平均GPA是3.5)
GPA的换算方法是把字母成绩换成数字:带A的都是4,带B的3,C是2,D是1,E是0,其他字母全部忽略不记。
计算并输出每个学生该学期获得的总学分(比如说最后一个学生NPMCS,他在591学期的学分是15)
计算并输出每个学生该学期获得的总学分(真),但是如果课程没有得到ABCD的成绩,就不计入总学分。
根据每个学生的总学分,如果小于等于26,标注该学生为1年级(F)
根据每个学生的总学分,如果大于等于27小于等于56,标注该学生为2年级(S)
根据每个学生的总学分,如果大于等于57小于等于86,标注该学生为3年级(J)
根据每个学生的总学分,如果大于等于87,标注该学生为4年级(Sn)
计算并输出每个学生该学期上了多少课。(NPMCS在591学期上了6课)
计算并输出该学期每一个学生有多少个课的字母成绩是A
计算并输出该学期每一个学生有多少个课的字母成绩是B
计算并输出该学期每一个学生有多少个课的字母成绩是C
计算并输出该学期每一个学生有多少个课的字母成绩是D
计算并输出该学期每一个学生有多少个课的字母成绩显示的是W
计算并输出该学期每一个学生有多少个课的字母成绩显示的是E,UW,WE,或IE
根据课程名字,计算并输出每个学生是否有在同一个学期上两次以上相同的课。重课了多少次?
报告2
按学期号分类后:
计算并输出该学期所有学生的总平均GPA成绩
GPA的换算方法是把字母成绩换成数字:带A的都是4,带B的3,C是2,D是1,E是0,其他字母全部忽略不记
计算并输出该学期所有学生获得的总平均学分
计算并输出该学期所有学生获得的总学分(真)(如果课程没有得到ABCD的成绩,就不计入总学分)
计算并输出该学期一共有多少个课的字母成绩是A(不用按学生号分类)
计算并输出该学期一共有多少个课的字母成绩是B(不用按学生号分类)
计算并输出该学期一共有多少个课的字母成绩是C(不用按学生号分类)
计算并输出该学期一共有多少个课的字母成绩是D(不用按学生号分类)
计算并输出该学期一共有多少个课的字母成绩显示的是W(不用按学生号分类)
计算并输出该学期一共有多少个课的字母成绩显示的是E,UW,WE,或IE(不用按学生号分类)
重复以上内容,不过只计算课程缩写是STAT和MATH的数据(就是只统计统计学和数学课程的数据)
REPORT 3
根据报告1中每个学生的平均GPA成绩,列出成绩名列前10%的学生的名字(学生号)
比如说,举例的数据组中共有4个学生,那么该数据组的报告3就列出该4人中平均GPA成绩最高的那个人(NPMCS)
计算10%是多少人时,小于1则取1.
根据报告1中每个学生的所有学期算下来的总学分,计算并输出有多少个学生的学分在60-130之间。
REPORT 4
根据报告1中每个学生的平均GPA成绩,列出成绩名列前10%的学生的名字(学生号)
根据报告1中每个学生的所有学期算下来的总学分,计算并列出有多少学生学习了至少20个学分的统计学课(课程缩写:STAT)或数学课(课程缩写:MATH)
最好有:
1. 运用MACRO减少重复的程序组
2. 运用PROC SQL
3. 运用 PROC REPORT
4. 运用ODS去创建网页形式的报告
5. 用Array去简化程序
编的程序最后运行的话,打出来的是4个report。
如有问题,敬请提问。非常感谢愿意帮助我的人。
因为刚到这个论坛,没有多少币,只能全押上了>.<