SAS数据分析实验报告.docx
《SAS数据分析实验报告.docx》由会员分享,可在线阅读,更多相关《SAS数据分析实验报告.docx(32页珍藏版)》请在冰豆网上搜索。
SAS数据分析实验报告
数理与土木工程学院实验报告
课程名称:
《统计软件SPSS、SAS及实践》
实验名称
SAS数据分析实验报告
系别
数据科学系
UN2758
UN2758
学号
·
班级
·
实验地点
HE103
实验日期
·
实验时数
4
指导教师
袁鹏
同组其他成员
无
成绩
一、实验目的及要求
1.了解SAS系统的基本知识及操作方法。
2.学会运用SAS系统进行数据的处理与分析。
3.熟练掌握SAS数据集的建立及SAS语句。
二、实验环境及相关情况(包含使用软件、实验设备等)
SAS、Word、Excel软件
三、实验内容
1、已知以下的数据和对应的变量分为:
1)Account_ID;2)Revenue;3)Segment;4)N_var1;5)C_var1;6)Date;7)Location;8)Code;9)Amount;
10001,5,G1,.,,2014-10-23,CHINA,APP_001,100
10002,6,G1,.,,2014-10-23,CHINA,APP_002,110
10003,.,G1,.,,2014-10-23,CHINA,APP_003,50
10004,10,G2,.,,2014-10-23,CHINA,APP_004,90
10005,15,G2,.,,2014-10-23,CHINA,CAN_005,12
10006,13,G2,.,,2014-10-23,CHINA,MAN_006,10000
10007,.,G2,.,,2014-10-23,CHINA,APP_007,10
10008,20,G3,.,,2014-10-23,CHINA,APP_008,100
10009,25,G3,.,,2014-10-23,CHINA,APP_009,200
10010,.,G3,.,,2014-10-23,,REJ_010,100000
10010,.,G3,.,,2014-10-23,,REJ_010,100000
10010,.,G4,.,,2014-10-23,,REJ_010,100000
10010,.,G5,.,,2014-10-23,,REJ_010,100000
10003,7,G1,.,,2014-10-24,CHINA,MAN_003,50000
10004,9,G2,.,,2014-10-24,CHINA,APP_004,90
10006,6,G2,.,,2014-10-24,CHINA,MAN_006,1000
10007,.,G2,.,,2014-10-24,CHINA,APP_007,10
10008,8,G3,.,,2014-10-24,CHINA,APP_008,100
10009,9,G3,.,,2014-10-24,CHINA,APP_009,200
10010,.,G3,.,,2014-10-24,CHINA,APP_010,100
10010,10,G4,.,,2014-10-24,CHINA,APP_011,101
10010,20,G5,.,,2014-10-24,CHINA,APP_012,102
要求:
①读取数据,并创建一个SAS数据集,命名为transaction;
②基于数据集transaction,将变量“Revenue”中的缺失数据用其均值代替;
③基于②,将取值全部缺失的变量删除。
2、下面的每一行数据代表纸箱子的length,width,和height,单位是厘米。
计算每一个箱子的体积、需要的纸板的面积(假定顶部和底部的纸板对折到中间,即:
顶部和底部的厚度是两层纸板)。
假定纸板的价格为$0.20/平方米。
321812
161524
481232
153045
203036
a)建立一个数据集合读入数据,变量为length,width和height;
b)使用set语句,利用a)的数据集建立一个新数据集,它包括a)的所有数据,并建立三个新变量:
每个箱子的体积(volume),制造费用(cost),以及每立方米体积的造价y(公式为:
y=cost/volume)。
c)使用b)建立的数据集建立一个新数据集,只包括其中的volume和cost变量。
3、使用二手车数据(usedcar.sas7bdat,见data文件夹),
a) 对车的标志(brand)的频数画竖直条形图.
b) 画里程数(miles)和价格(price)的散点图,价格在竖轴上。
c)自学means过程(见SAS过程文件夹),计算变量里程数(miles)和价格(price)的描述统计量。
4、某地区单身人士的收入(y)和住房面积(x)的数据(data4.xls,见data文件夹)
试分析:
该地区单身人士的收入与住房面积之间是否相关?
如果线性相关,确定一元线性回归方程,并做显著性检验。
5、收集了我国居民消费价格指数(CPI)从2010年1月到2016年4月的数据(cpi.sas7bdat,见data文件夹),
其中,CPI代表居民消费价格指数。
试分析:
①使用intnx命令在数据集中加入month变量,输出格式为monyy7.。
②使用gplot过程作CPI对month的时序图;
③用ARIMA过程建模,并预测我国2016年5月和6月的CPI。
四、实验结果(附在后面页)
五、实验总结(包括心得体会、问题回答及实验改进意见)
SAS(StatisticalAnalysisSystem)是世界上最著名的统计分析系统之一,具有完备的数据访问、管理、分析和呈现功能,被誉为国际标准统计分析系统。
SAS软件在我们生活中起到了很多的作用:
1.可以进行数据管理。
2.可以数据输入、建库、保存。
3.进行统计分析。
4.t检验。
5.方差分析。
6.卡方检验。
7.相关、回归。
8.秩和检验。
在学习过程中,一开始学习比较困难和吃力,很多知识都是刚刚接触,比较陌生,但随着老师讲解的深入和基础知识的逐步掌握,开始对SAS的使用开始比较灵活。
希望在以后继续学习和运用,讲课堂中学到的知识可以很好的运用到实践当中去。
六、教师评语
1、完成所有规定的实验内容,实验步骤正确,结果正确;
2、完成绝大部分规定的实验内容,实验步骤正确,结果正确;
3、完成大部分规定的实验内容,实验步骤正确,结果正确;
4、基本完成规定的实验内容,实验步骤基本正确,所完成的结果基本正确;
5、未能很好地完成规定的实验内容或实验步骤不正确或结果不正确。
6、其它:
评定等级:
优秀良好中等及格不及格
教师:
年月日
实验结果
(包括程序代码、程序结果分析)
第一题:
①读取数据,并创建一个SAS数据集,命名为transaction;
datatransaction;
infilecardsdlm=",";
inputAccount_IDRevenueSegmentN_var1C_var1DateLocationCodeAmount;
cards;
10001,5,G1,.,,2014-10-23,CHINA,APP_001,100
10002,6,G1,.,,2014-10-23,CHINA,APP_002,110
10003,.,G1,.,,2014-10-23,CHINA,APP_003,50
10004,10,G2,.,,2014-10-23,CHINA,APP_004,90
10005,15,G2,.,,2014-10-23,CHINA,CAN_005,12
10006,13,G2,.,,2014-10-23,CHINA,MAN_006,10000
10007,.,G2,.,,2014-10-23,CHINA,APP_007,10
10008,20,G3,.,,2014-10-23,CHINA,APP_008,100
10009,25,G3,.,,2014-10-23,CHINA,APP_009,200
10010,.,G3,.,,2014-10-23,,REJ_010,100000
10010,.,G3,.,,2014-10-23,,REJ_010,100000
10010,.,G4,.,,2014-10-23,,REJ_010,100000
10010,.,G5,.,,2014-10-23,,REJ_010,100000
10003,7,G1,.,,2014-10-24,CHINA,MAN_003,50000
10004,9,G2,.,,2014-10-24,CHINA,APP_004,90
10006,6,G2,.,,2014-10-24,CHINA,MAN_006,1000
10007,.,G2,.,,2014-10-24,CHINA,APP_007,10
10008,8,G3,.,,2014-10-24,CHINA,APP_008,100
10009,9,G3,.,,2014-10-24,CHINA,APP_009,200
10010,.,G3,.,,2014-10-24,CHINA,APP_010,100
10010,10,G4,.,,2014-10-24,CHINA,APP_011,101
10010,20,G5,.,,2014-10-24,CHINA,APP_012,102
;
run;
proctransposedata=transactionout=a;
var_all_;
run;
Obs
_NAME_
COL1
COL2
COL3
COL4
COL5
COL6
COL7
COL8
1
Account_ID
10001
10002
10003
10004
10005
10006
10007
10008
2
Revenue
5
6
.
10
15
13
.
20
3
Segment
.
.
.
.
.
.
.
.
4
N_var1
.
.
.
.
.
.
.
.
5
C_var1
.
.
.
.
.
.
.
.
6
Date
2014-10-
2014-10-
2014-10-
2014-10-
2014-10-
2014-10-
2014-10-
2014-10-
7
Location
CHINA
CHINA
CHINA
CHINA
CHINA
CHINA
CHINA
CHINA
8
Code
APP_001
APP_002
APP_003
APP_004
CAN_005
MAN_006
APP_007
APP_008
9
Amount
100
110
50
90
12
10000
10
100
Obs
COL9
COL10
COL11
COL12
COL13
COL14
COL15
COL16
COL17
1
10009
10010
10010
10010
10010
10003
10004
10006
10007
2
25
.
.
.
.
7
9
6
.
3
.
.
.
.
.
.
.
.
.
4
.
.
.
.
.
.
.
.
.
5
.
.
.
.
.
.
.
.
.
6
2014-10-
2014-10-
2014-10-
2014-10-
2014-10-
2014-10-
2014-10-
2014-10-
2014-10-
7
CHINA
CHINA
CHINA
CHINA
CHINA
8
APP_009
REJ_010
REJ_010
REJ_010
REJ_010
MAN_003
APP_004
MAN_006
APP_007
9
200
100000
100000
100000
100000
50000
90
1000
10
Obs
COL18
COL19
COL20
COL21
COL22
1
10008
10009
10010
10010
10010
2
8
9
.
10
20
3
.
.
.
.
.
4
.
.
.
.
.
5
.
.
.
.
.
6
2014-10-
2014-10-
2014-10-
2014-10-
2014-10-
7
CHINA
CHINA
CHINA
CHINA
CHINA
8
APP_008
APP_009
APP_010
APP_011
APP_012
9
100
200
100
101
102
②基于数据集transaction,将变量“Revenue”中的缺失数据用其均值代替;
dataa;
seta;
arrays(*)aa1-aa2;
n=n(ofs(*));
mean=mean(ofs(*));
sum=sum(ofs(*));
doi=1todim(s);
ifs(i)=.thens(i)=mean;
end;
run;
procprint;
run;
Obs
_NAME_
COL1
COL2
COL3
COL4
COL5
COL6
COL7
COL8
COL9
1
Account_ID
10001
10002
10003
10004
10005
10006
10007
10008
10009
2
Revenue
5
6
11.642857143
10
15
13
11.642857143
20
25
3
Segment
.
.
.
.
.
.
.
.
.
4
N_var1
.
.
.
.
.
.
.
.
.
5
C_var1
.
.
.
.
.
.
.
.
.
6
Date
.
.
.
.
.
.
.
.
.
7
Location
.
.
.
.
.
.
.
.
.
8
Code
.
.
.
.
.
.
.
.
.
9
Amount
100
110
50
90
12
10000
10
100
200
Obs
COL10
COL11
COL12
COL13
COL14
COL15
COL16
COL17
1
10010
10010
10010
10010
10003
10004
10006
10007
2
11.642857143
11.642857143
11.642857143
11.642857143
7
9
6
11.642857143
3
.
.
.
.
.
.
.
.
4
.
.
.
.
.
.
.
.
5
.
.
.
.
.
.
.
.
6
.
.
.
.
.
.
.
.
7
.
.
.
.
.
.
.
.
8
.
.
.
.
.
.
.
.
9
100000
100000
100000
100000
50000
90
1000
10
Obs
COL18
COL19
COL20
COL21
COL22
n
mean
sum
i
1
10008
10009
10010
10010
10010
22
10006.91
220152
23
2
8
9
11.642857143
10
20
14
11.64
163
23
3
.
.
.
.
.
0
.
.
23
4
.
.
.
.
.
0
.
.
23
5
.
.
.
.
.
0
.
.
23
6
.
.
.
.
.
0
.
.
23
7
.
.
.
.
.
0
.
.
23
8
.
.
.
.
.
0
.
.
23
9
100
200
100
101
102
22
21017.05
462375
23
③基于②,将取值全部缺失的变量删除。
dataa;
seta;
arrayaaaa1-aa2;
dooveraa;
ifcol=.thendelete;
end;
run;
proctransposedata=aout=transaction(drop=_name_);
varaa1-aa2;
run;
procprint;
run;
Obs
Account_ID
Revenue
Amount
1
10001
5.0000
100
2
10002
6.0000
110
3
10003
11.6429
50
4
10004
10.0000
90
5
10005
15.0000
12
6
10006
13.0000
10000
7
10007
11.6429
10
8
10008
20.0000
100
9
10009
25.0000
200
10
10010
11.6429
100000
11
10010
11.6429
100000
12
10010
11.6429
100000
13
10010
11.6429
100000
14
10003
7.0000
50000
15
10004
9.0000
90
16
10006
6.0000
1000
17
10007
11.6429
10
18
10008
8.0000
100
19
10009
9.0000
200
20
10010
11.6429
100
21
10010
10.0000
101
22
10010
20.0000
102
第二题:
a)建立一个数据集合读入数据,变量为length,width和height;
datab;
inputlengthwidthheight;
cards;
321812
161524
481232
153045
203036
;
run;
procprintdata=b;
run;
Obs
length
width
heigth
1
32
18
12
2
16
15
24
3
48
12
32
4
15
30
45
5
20
30
36
b)使用set语句,利用a)的数据集建立一个新数据集,它包括a)的所有数据,并建立三个新变量:
每个箱子的体积(volume),制造费用(cost),以及每立方米体积的造价y(公式为:
y=cost/volume)。
datac;
setb;
volume=length*width*height;
cost=0.2*4*length*width*0.0001+0.2*2*length*heigth*0.0001+0.2*2*heigth*width*0.0001;
y=cost/volume;
run;
procprintdata=c;
run;
Obs
length
width
heigth
volume
cost
y
1
32
18
12
6912
0.07008
.000010139
2
16
15
24
5760
0.04896
.000008500
3
48
12
32
18432
0.12288
.000006667
4
15
30
45
20250
0.11700
.000005778
5
20
30
36
21600
0.12000
.000005556
c)使用b)建立的数据集建立一个新数据集,只包括其中的volume和cost变量。
datad;
setc(keep=volumecost);
run;
procprintdata=d;
run;
Obs
volume
cost
1
6912
0.07008
2
5760
0.04896
3
18432
0.12288
4
20250
0.11700
5
21600
0.12000
第三题:
a) 对车的标志(brand)的频数画竖直条形图。
libnamemydata'D:
\data';
procprintdata=mydata.usedcar;
run;
datae;
setmydata.usedcar;
run;
procgchart;
vbarbrand;
run;
Obs
YEAR
BRAND
TYPE
COLOR
MILES
PLATE
PRICE
1
1999
Chevrole
Blazer
Red
80157
D0523X
10650
2
2002
Chevrole
Cavalier
Blue
32863
D0631A
11850
3
1996
Chevrole
Cavalier
Tan
90784
T9572PA
5350
4
2004
Chevrole
Impala
White
11910
DA6737B
16350
5
2003
Chevrole
S-10
White
8260
LT1124PB
17350
6
2002
Chevrole
Venture
Blue
77037
D2429A
11850
7
2002
Chevrole
Venture
Silver
36980
D3537A
13035
8
2000
Dodge
Caravan
Blue
75688
FC1361PA
7650
9
2001
Dodge
Dakota
Black
61932
DA3955B
18350
10
2003
Dodge
Dakota
Silver
33620
DB5767A
19155
11
2003
Dodge
Neon
Yellow
17698
D8611A
12350
12
2003
Ford
Expediti
Gold
40956
D3362A
24850
13
2003
For