声明:本文内容来自网络,如有侵权请联系删除。本文还参照了B站up主庄7的课程内容【公开课】数据分析与SAS【15课】
目录
实验背景
实验步骤
步骤一:了解SAS系统的主要窗口及其功能。
步骤二:运行如下程序
语法规则:
步骤3:创建新库程序
1.建立外部数据库
2.将外部数据文件转为数据集
3.转换成Excel数据集
4.利用import过程导入Excel数据集
5.按要求拆分数据集
6.数据集观测值的删除与插入
总结
实验背景
SAS是大型集成软件系统,具有完备的数据访问、管理、分析和呈现及应用开发功能。包括70多个工具模块,广泛应用与应用统计、运筹学、质量控制和大型矩阵计算等。SAS经过多年来的完善和发展,被广泛应用到社会的各个领域,是一款国际统计分析的标准软件。
实验步骤
步骤一:了解SAS系统的主要窗口及其功能。
Program Editor窗口:前景工作区,在此窗口进行程序编写、编辑和执行,也可以执行打开已有的程序和将编辑好的程序存盘等操作。
Log窗口:前景工作区,显示执行过程的有关信息:(1)记录用户曾经提交执行的SAS语句及执行后的有关详细说明;(2)当出现语法错误,或其他使用不当时,此视图窗口会显示并记录Error,指出语法错误的原因,或显示警告信息;(3)保存记录(LOG)文件的扩展名是:.Log。
Output窗口:背景隐含工作区,只有当SAS程序命令执行后,才会自动显示。显示程序的执行结果:(1)显示各个进程的分析结果;(2)用户感觉输出结果满意时,可将结果保存,还可进行汉化编辑,增加可读性;(3)保存的结果(OUTPUT)文件的拓展名是:.Lst。
Keys窗口:查看及改变功能键的设置。
Libname窗口:查看已经存在的SAS数据库。
Dir窗口:查看某个SAS数据库的内容。
Var窗口:查看SAS数据集的有关信息。
Options窗口:查看及改变SAS的系统设置。
work:临时逻辑库。
步骤二:运行如下程序
data mydb.student;
input id name $ sex $ score;
cards;
101 张三 男 98
102 李四 男 87
103 兰兰 女 95
;
run;
proc print data = mydb.student(keep=id name score);
run;
输出方式有很多,这里就介绍在 Program Editor窗口中右键-->Run-->Submit
明显,你会看到报错。这是因为mydb库没有创建。
下面介绍创建库的操作:
这时候打开Librarirs就可以看见Mydb库已经创建好了。
运行后输出结果:
语法规则:
- 变量命名规则:首字母字母或下划线,变量名必须由字母、数字、下划线组成。
- SAS关键字和名字不区分大小写,但字符型的数据值要区分大小写。
- 注释方法为 ---> /* */ 。
- SAS程序由语句构成,每个语句以分号结尾。
步骤3:创建新库程序
在做小麦育种时,调查了杂交后代的若干性状,选取其中一部分数据表,选取4个变量,即:株高、穗长、穗粒数和成熟早晚。分别用hop、heg、nog和fas代表上述4个变量,以成熟的早(e)、中(m)、晚(l)分类,下面为数据:
60 8.0 60 m
61 8.0 50 m
61 8.5 61 l
61 7.5 54 e
65 7.5 50 l
63 6.5 46 e
62 7.0 48 l
63 7.5 45 m
66 8.0 54 m
61 7.0 50 e
63 7.0 48 e
67 8.0 50 l
66 8.0 54 l
70 7.0 44 e
62 8.0 54 e
65 8.0 55 l
63 9.0 56 e
67 9.0 52 m
64 7.0 46 e
62 8.0 56 e
65 9.0 58 m
68 8.5 48 e
64 6.5 44 m
63 7.0 52 e
62 8.0 48 e
63 7.0 50 l
69 8.0 52 l
63 7.5 52 m
68 7.0 46 e
61 7.5 52 e
65 7.5 48 e
66 8.0 48 l
66 8.5 54 e
70 8.0 46 e
68 8.0 48 m
62 8.5 62 m
65 8.5 66 m
60 9.0 64 e
69 7.5 48 e
66 8.0 46 e
68 7.5 42 m
70 9.0 46 m
69 7.0 42 l
72 8.0 52 e
66 7.5 52 m
70 8.0 50 m
69 7.5 50 l
71 8.0 50 e
67 6.0 38 l
67 7.5 48 e
1.建立外部数据库
建立一个外部数据库文件xiaomai.dat,并将其保存在'D:\SAS\sasdata\shiyan\xiaomai.dat'中
2.将外部数据文件转为数据集
将外部数据文件xiaomai.dat转为SAS数据集study.xiaomai。
options linesize = 76;
data study.xiaomai; /*study库已经创建好的前提下*/
infile'D:\SAS\sasdata\shiyan\xiaomai.dat'; /*infile语句打开的数据集只有数值部分而没有描述部分*/
input hop loe nog fas $; /*用input语句对打开的数据集进行描述*/
run;
proc print data = study.xiaomai;
run;
在输出窗口中查看输出结果。
3.转换成Excel数据集
利用export过程将SAS数据集study.xiaomai转换成Excel数据集xiaomai.xls。
proc export data = study.xiaomai
outfile='D:\SAS\sasdata\shiyan\xiaomai.xls'
dbms=excel replace;
运行之后得到xiaomai.xls文件,并将其打开如下图所示。
4.利用import过程导入Excel数据集
proc import out = xiaomai
datafile = 'D:\SAS\sasdata\shiyan\xiaomai.xls'
dbms=excel2000 replace;
run;
5.按要求拆分数据集
(1)将数据将study.xiaomai按fas分成3个数据集xiaomai.xls
data zao zhong wan;/*创建三个数据集*/
set study.xiaomai;
select(fas);
when ('e') output zao; /*括号中的分类选项要使用引号括起来*/
when ('m') output zhong;
when ('l') output wan;
otherwise put fas='错误';
end;
run;
proc print data=zao;
proc print data=zhong;
proc print data=wan;
run;
(2)将数据集study.xiaomai按loe分成3个数据集(运行后在浏览器中的结果如下所示)
data duan zhong chang;
set study.xiaomai;
select;
when (loe<8) output duan;
when (8<=loe<=8.5) output zhong;
when (loe>8.5) output chang;
end;
run;
ods html file='D:\SAS\sasdata\shiyan\new.html' style=Rtf;
proc print data = duan;
proc print data = zhong;
proc print data = chang;
run;
ods html close;
6.数据集观测值的删除与插入
(1)删除hop=67的观察值
data deldata;
set study.xiaomai;
if hop=67 then delete;
run;
proc print data = deldata;
run;
值得注意的是,这些数据deldata都放在了临时数据库work中,在study库中的数据是不会被删除的,而一旦将SAS管理器关闭后重新进入,那么work中的数据就不存在了(重置)。
(2)在数据集study.xiaomai中插入两组观测值
利用sql过程中的insert into语句实现在已有数据集中插入观测值
法1:
proc sql;
insert into study.xiaomai
set hop=80,loe=9.0,nog=78,fas='m'
set hop=65,loe=8.0,nog=70,fas='l'
;
Quit;
法二:
/*此外还有一种方法*/
proc sql;
insert into study.xiaomai;
values(80,9.0,78,'m')
values(65,8.0,70,'l')
;
quit;
7.数据集变量的删除、保留与增加
(1)在数据集中删除变量
data deldata;
set study.xiaomai;
drop nog;
run;
proc print;
run;
可以看到变量nog已经被删除了
(2)在数据集中增加变量
data adddata;
set study.xiaomai;
hop_=(hop-65)/25;
proc print;
run;
(3)保留数据集中某些变量
data kdata;
set xiaomai;
keep hop nog fas;
proc print;
run;
总结
- 通过本次实验了解了SAS系统的主要窗口及其功能
- 熟悉了SAS软件的基本操作
- 了解了SAS程序的组成及SAS程序规则
- 掌握了新库标记的建立及编程建立永久的和临时的SAS数据集的方法
- 掌握了SAS数据集的常用整理方法