SAS数据处理表1姓名 性别 数学 语文 组别李明 男 92 98 1张红艺 女 89 106 1王思明 男 86 90 1姓名 性别 数学 语文 组别张聪 男 95
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/11 21:43:02
![SAS数据处理表1姓名 性别 数学 语文 组别李明 男 92 98 1张红艺 女 89 106 1王思明 男 86 90 1姓名 性别 数学 语文 组别张聪 男 95](/uploads/image/z/12580853-5-3.jpg?t=SAS%E6%95%B0%E6%8D%AE%E5%A4%84%E7%90%86%E8%A1%A81%E5%A7%93%E5%90%8D+++++++%E6%80%A7%E5%88%AB++%E6%95%B0%E5%AD%A6+++%E8%AF%AD%E6%96%87++%E7%BB%84%E5%88%AB%E6%9D%8E%E6%98%8E+++++++%E7%94%B7+++++++92++++++98+++++1%E5%BC%A0%E7%BA%A2%E8%89%BA+++%E5%A5%B3+++++++89++++++106+++1%E7%8E%8B%E6%80%9D%E6%98%8E+++%E7%94%B7+++++++86++++++90+++++1%E5%A7%93%E5%90%8D+++++++%E6%80%A7%E5%88%AB++%E6%95%B0%E5%AD%A6+++%E8%AF%AD%E6%96%87++%E7%BB%84%E5%88%AB%E5%BC%A0%E8%81%AA++++++%E7%94%B7+++++++95)
SAS数据处理表1姓名 性别 数学 语文 组别李明 男 92 98 1张红艺 女 89 106 1王思明 男 86 90 1姓名 性别 数学 语文 组别张聪 男 95
SAS数据处理
表1
姓名 性别 数学 语文 组别
李明 男 92 98 1
张红艺 女 89 106 1
王思明 男 86 90 1
姓名 性别 数学 语文 组别
张聪 男 95 92 2
刘颖 女 98 101 2
高红 女 91 92 2
姓名 性别 数学 语文 组别
赵强 男 93 99 3
李云芳 女 96 102 3
周闪 男 88 98 3
请对表1数据作如下处理(1-8题均需要写出SAS程序):
(1) 请把上述三个数据表输入为SAS数据集chengji1,chengji2,chengji3
(2) 请合并(1)中的三个数据集得到整个班学生的成绩chengji0.
(3) 计算每个学生两门课的平均成绩(百分制),并按此由高到低排名(得到新数据集chengji).
(4) 找出该班数学成绩>90分的学生(得到新数据集math90).
(5) 在数据集chengji0中,找出该班每组平均成绩最低的人,得到新数据集last,并且要求数据集last中只包含学生姓名、组别和平均成绩.
(6) 计算该班学生的数学总分,以性别为分组变量计算数学平均分.
(7) 计算该班每个学生的数学成绩与该班数学平均分之差.
(8) 另有英语成绩按照表1排名依次为80、84、85、86、82、87、96、75、52.请将该数据建立数据集,并合并到chengji0中.
SAS数据处理表1姓名 性别 数学 语文 组别李明 男 92 98 1张红艺 女 89 106 1王思明 男 86 90 1姓名 性别 数学 语文 组别张聪 男 95
DATA CHENGJI1;
INPUT NAME $ SEX $ MATH CHN GROUP;
CARDS;
李明 男 92 98 1
张红艺 女 89 106 1
王思明 男 86 90 1
;
RUN;
DATA CHENGJI2;
INPUT NAME $ SEX $ MATH CHN GROUP;
CARDS;
张聪 男 95 92 2
刘颖 女 98 101 2
高红 女 91 92 2
;
RUN;
DATA CHENGJI3;
INPUT NAME $ SEX $ MATH CHN GROUP;
CARDS;
赵强 男 93 99 3
李云芳 女 96 102 3
周闪 男 88 98 3
;
RUN;
*第二步;
DATA CHENGJI0;
SET CHENGJI1 CHENGJI2 CHENGJI3;
RUN;
*第三步;
DATA CHENGJI;
SET CHENGJI0;
AVG=MEAN(MATH,CHN);
RUN;
PROC SORT;
BY AVG;
RUN;
*第四步;
DATA MATH90;
SET CHENGJI0;
WHERE MATH>90;
RUN;
*第五步;
PROC SORT DATA=CHENGJI(KEEP=NAME GROUP AVG) OUT=LAST ;
BY GROUP AVG;
RUN;
DATA LAST;
SET LAST;
BY GROUP AVG;
IF FIRST.GROUP;
RUN;
*第六步;
PROC SORT DATA=CHENGJI0 OUT=MATH;
BY SEX;
RUN;
DATA MATH(KEEP=SEX AVG SUM_ALL);
SET MATH END=T;
BY SEX;
IF FIRST.SEX THEN DO;
I=0;
M=0;
END;
M+MATH;
I+1;
AVG=M/I;
J+1;
TOT+MATH;
IF LAST.SEX;
IF T THEN SUM_ALL=TOT;
RUN;
*第七步;
PROC SUMMARY DATA=CHENGJI0 NWAY;
VAR MATH;
OUTPUT OUT=A(DROP=_TYPE_ RENAME=(_FREQ_=N)) SUM=TOT;
RUN;
DATA DIF;
IF _N_=1 THEN SET A;
SET CHENGJI0;
AVG=TOT/N;
DIFF=AVG-MATH;
DROP TOT N;
RUN;
*第八步;
DATA EN;
INPUT EN @@;
CARDS;
80 84 85 86 82 87 96 75 52
;
RUN;
DATA ALL;
SET CHENGJI0;
SET EN;
RUN;
楼上这位是大牛,多向他学习学习