全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
6004 4
2016-01-10

四、设某班的学生分为三组,一次考试成绩如下(数学满分100,语文满分120):

  

姓名

  

性别

数学

语文

组别

李明

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-13问全部运行代码.txt和.sas(亲测可行).zip

大小:11.39 KB

只需: 25 个论坛币  马上下载

自己花了三天才编完的,自己测试过,应该都是没问题的,所以售稍微贵一点。(因为也是新手,若有什么瑕疵, ...

二维码

扫码加我 拉你入群

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

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

全部回复
2016-1-10 11:46:03
1)       请把上述三个数据表输入为SAS数据集chengji1, chengji2,chengji3.

(2)       请合并(1)中的三个数据集得到整个班学生的成绩chengji0.

(3)       计算每个学生两门课的平均成绩(百分制),并按此由高到低排名(得到新数据集chengji)。

(4)       找出该班数学成绩>90分的学生(得到新数据集math90)。

(5)       在数据集chengji0中,找出该班每组平均成绩最低的人,得到新数据集last,并且要求数据集last中只包含学生姓名、组别和平均成绩。

(6)       计算该班学生的数学总分,以及数学平均分。

(7)       计算该班每个学生的数学成绩与该班数学平均分之差。

(8)       随机抽三名学生,并创建包含这三名学生姓名、数学成绩、语文成绩的宏文本。

(9)       画出该班学生数学成绩、语文成绩关系的二维图。

(10)   用宏编写程序:在包含学生信息的数据集x中,找出数学成绩大于y且小于z的学生。

(11)   调用宏,在随机抽出的3名学生中找出数学成绩大于80小于90的学生。

(12)      随机抽n名学生,并寻找其中平均成绩第一和最后一名的学生,同时将每次抽取、寻找的结果放在同一数据集中。


(13)      随机抽取3名,4名,...,8名学生,即共抽取6次,并计算每次抽取后学生的平均成绩的标准差,同时将学生个数与标准差作图,以观察标准差有无随学生个数增加而减少的趋势。

二维码

扫码加我 拉你入群

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

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

2016-1-10 11:52:35
自己也是新手,刚刚学习,有什么问题,请见谅,也欢迎指出!
二维码

扫码加我 拉你入群

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

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

2020-9-23 16:46:53
闫浪 发表于 2016-1-10 11:45
四、设某班的学生分为三组,一次考试成绩如下(数学满分100,语文满分120):
几年了,来签个到
二维码

扫码加我 拉你入群

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

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

2020-11-1 17:53:31
闫浪 发表于 2020-9-23 16:46
几年了,来签个到
/*1*/
data test;
input name $ sex $ class1 class2 group @@;
datalines;
A1 M 92 98 1
A2 F 89 106 1
A3 M 86 90 1
A4 M 95 92 2
A5 F 98 101 2
A6 F 91 92 2
A7 M 93 99 3
A8 F 96 102 3
A9 M 88 98 3
;
run;
data chengji1 chengji2 chengji3;
        set test;
        if _n_ in (1 2 3) then output chengji1;
        if _n_ in (4 5 6) then output chengji2;
        if _n_ in (7 8 9) then output chengji3;
run;
/*2*/
data chengji0;
        set chengji1 chengji2 chengji3;
run;
/*3*/
data chengji;
        set chengji0;
        mean=(class1+class2)/2;
run;
proc sort;
        by descending mean name;
run;
/*4*/
data math90;
        set chengji;
        where class1>90;
run;
/*5*/
proc sort data=chengji;
        by group mean;
run;
data last;
        set chengji;
        by group mean;
        if first.group;
        keep name group mean;
run;
/*6*/
proc sql;create table math as select avg(class1) as avg1,sum(class1) as sum1 from chengji;quit;
/*7*/
proc sql;create table math as select *,avg(class1) as avg1,sum(class1) as sum1,(class1-avg(class1)) as chg from chengji;quit;
/*8???*/
proc suveyselect data=chengji method=SRS samprate=0.3;
run;

/*9*/
proc corr data=chengji plots=matrix;
var class2 class1 ;
run;
/*10*/
%macro part(y,z);
data x;
        set chengji;
        if &y.<class1<&z. then output;
run;
%mend;
/*%part(y,z);*/
/*11*/
%part(80,90);
/*12???*/
/*13???*/
有几题不会,不知道有没有人能解答下
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群