SAS讲义一Word文档格式.docx
《SAS讲义一Word文档格式.docx》由会员分享,可在线阅读,更多相关《SAS讲义一Word文档格式.docx(26页珍藏版)》请在冰豆网上搜索。
程序可以直接在窗口中键入,插入新行用回车,插入点光标(闪动的竖线)可以用光标键(上下左右箭头、Home、End)移动或用鼠标单击到某一处。
按住Shift再按光标键可以加亮显示一块文本,然后用复制、剪切、粘贴命令(Edit菜单中的Cut、Copy、Paste,或工具栏图标)可以复制或移动加亮显示的文本。
这些编辑操作具体请参考Windows的有关文档。
运行记录窗口记录程序的运行情况,运行是成功还是出错,运行所用时间,如果出错,错在什么地方。
运行记录窗口中以红色显示的是错误信息。
输出窗口显示SAS程序的文本型输出(图形输出单独有一个GRAPHICS窗口)。
输出分页显示。
要把光标移动到某一窗口,可以用主菜单中的Window菜单选择要显示的窗口。
用功能键F5可以切换到程序窗口,F6可以到运行记录窗口,F7可以到输出窗口。
SAS主窗口标题栏下是主菜单。
SAS菜单是动态的,其内容随上下文而不同,即光标在不同窗口其菜单也不同。
其中,File(文件)菜单主要是有关SAS文件调入、保存及打印的功能。
Edit(编辑)菜单用于窗口的编辑(如清空、复制、剪切、粘贴、查找、替换)。
Locals(局部)菜单与当前正在进行的操作有关,如果你正在程序窗口中编辑程序,则Locals菜单有提交运行、调回修改等项,如果在运行记录窗口或输出窗口则Locals菜单项根本不出现。
Globals菜单内容比较复杂,它可以打开被关闭的程序窗口、运行记录窗口、输出窗口、图形窗口,可以进入SAS提供的各个独立模块。
主菜单下是一个命令条和工具栏菜单。
命令条主要是用于与SAS较早版本的兼容性,可以在这里键入SAS的显示管理命令。
工具栏图标提供了常见任务的快捷方式,比如保存、打印、帮助等等。
鼠标光标在某一工具栏图标上停留几秒可以显示一个说明。
工具栏图标的解释如下:
Submit-提交编辑窗口中的程序
New-清空编辑窗口
Open-打开文件到编辑窗口。
用户指定一个文件调入到编辑窗口内。
这个文件从此与编辑窗口相关联,以后的存盘操作将自动存入这个文件。
Save-存盘,保存编辑窗口内容,注意如果此窗口已经与一个文件相联系的话此功能将覆盖文件的原有内容而不提示。
Print-打印当前窗口内容
Printpreview-打印预览。
Cut-剪切选定文本。
Copy-复制选定文本。
Paste-粘贴。
注意这些操作是对Windows剪贴板进行的,可以用来与其它Windows应用程序交换文本、数据等。
剪切或复制到剪贴板的内容可以被其它应用程序粘贴,其它应用程序放到剪贴板的内容也可以粘贴到SAS的编辑窗口中。
Undo-撤销刚才的编辑操作。
DOSprompt-临时进入DOS。
Browse-打开WWW浏览器并进入SAS公司的主页。
Directories-进入Directory(目录)窗口,可以浏览各SAS数据库的内容,可以浏览数据库中的数据集、SAS目录的内容。
SAS/ASSIST-启动SAS的菜单驱动界面SAS/ASSIST。
Help-启动Windows的帮助系统进入SAS的帮助。
1.1.3简单运行样例
假设我们有一个班学生的数学成绩和语文成绩,数学满分为100,语文满分为120,希望计算学生的平均分数(按百分制)并按此排名,可以在程序窗口输入此程序:
title'
95级1班学生成绩排名'
;
datac9501;
inputname$1-10sex$mathchinese;
avg=math*0.5+chinese/120*100*0.5;
cards;
李明男9298
张红艺女89106
王思明男8690
张聪男98109
刘颍女80110
run;
procprint;
procsortdata=c9501;
bydescendingavg;
实际上,输入这样包含中文的程序最好办法不是在SAS程序窗口直接输入,因为SAS目前对中文输入的处理还不够完善,好的办法是打开一个其它的编辑程序如Windows中的记事本(在Win95中用开始菜单中的“程序|附件|记事本”启动),在记事本中复制输入的程序,然后到SAS系统程序窗口中使用粘贴命令(用Edit菜单的Paste或工具栏上的粘贴图标),把程序复制到SAS中。
也可以在记事本中把编好的程序存盘,然后在SAS程序窗口用File菜单的Open命令打开保存好的程序文件。
要运行此程序,只要用鼠标单击工具栏的提交图标,或用Locals菜单的Submit命令。
运行后,运行记录窗口出现如下内容:
50title'
51datac9501;
52inputname$1-10sex$mathchinese;
53avg=math*0.5+chinese/120*100*0.5;
54cards;
NOTE:
ThedatasetWORK.C9501has5observationsand5variables.
TheDATAstatementused0.11seconds.
60;
61run;
62procprint;
ThePROCEDUREPRINTused0.0seconds.
63procsortdata=c9501;
64bydescendingavg;
65run;
ThePROCEDURESORTused0.05seconds.
66procprint;
其中记录了每段程序的运行情况、所用时间、生成数据保存情况。
如果有错误还会用红色指示错误。
比如,最后的procprint后面的分号如果丢失,记录窗口显示如下错误:
67procprintrun;
--------
181
ERROR181-322:
Procedurenamemisspelled.
错误说明为过程名错拼,但实际上是丢了分号导致print和run连成了一个词。
在程序窗口用“Locals|Recalltext”菜单或按F4功能键可以调回程序修改。
正确运行后输出窗口出现如下结果:
95级1班学生成绩排名3
OBSNAMESEXMATHCHINESEAVG
1李明男929886.8333
2张红艺女8910688.6667
3王思明男869080.5000
4张聪男9810994.4167
5刘颍女8011085.8333
95级1班学生成绩排名4
1张聪男9810994.4167
3李明男929886.8333
4刘颍女8011085.8333
5王思明男869080.5000
这里有两页输出,第一页是输入数据后用PROCPRINT显示的数据集,第二页为按平均分排名后的结果。
从上面的例子程序可以看出SAS程序的一些特点。
SAS程序由语句组成,语句用分号结束。
SAS程序中大小写一般不区分(字符串中要区分大小写)。
SAS程序中的空格、空行一般可以任意放置,这样我们可以安排适当的缩进格式使得源程序结构清楚易读。
SAS程序由两种“步”构成,一种叫数据步(datastep),一种叫过程步(procstep),分别以DATA语句和PROC语句开始。
数据步和过程步由若干个语句组成,一般以RUN语句结束。
1.2SAS基本概念
本节介绍一些SAS特有的概念,其中最重要的是数据集。
1.2.1SAS数据集。
SAS数据集(SASDatasets)可以看作由若干行和若干列组成的表格,类似于一个矩阵,但各列可以取不同的类型值,比如整数值、浮点值、时间值、字符串、货币值等等。
SAS数据集存放在以特殊格式存放的二进制文件中,我们用一个SAS中的逻辑名来使用SAS数据集而不需关心它到底如何存储在磁盘上。
比如,1.1.3的例子生成了一个名为C9501的数据集,它的逻辑形式如下表:
NAME
SEX
MATH
CHINESE
AVG
李明
男
92
98
86.8333
张红艺
女
89
106
88.6667
王思明
86
90
80.5000
张聪
109
94.4167
刘颍
80
110
85.8333
数据集的每一行叫做一个观测(Observation),每列叫做一个变量(Variable)。
SAS数据集等价于关系数据库系统中的一个表,实际上一个SAS数据集有时也称作一张表。
在数据库术语中一个观测称作一个记录,一个变量称作一个域。
在C9501数据集中有5个观测,分别代表5个学生的情况,而每个学生有5个数据,分别为姓名、性别、数学成绩、语文成绩、平均分,所以此数据集有5个变量。
从上面看出,数据集要有名字,变量要有名字,所以SAS中对名字(数据集名、变量名、数据库名,等等)有约定:
SAS名字由英文字母、数字、下划线组成,第一个字符必须是字母或下划线,名字最多用8个字符,大写字母和小写字母不区分。
比如,name,abc,aBC,x1,year12,_NULL_等是合法的名字,且abc和aBC是同一个名字,而class-1(不能有减号)、abit(不能有空格)、serial#(不能有特殊字符)、Documents(超长)等不是合法的名字。
1.2.2SAS数据库
SAS数据集是各种特殊格式的SAS文件中最重要的一种。
另一种重要的SAS文件是SAS目录(Catalog),用来保存各种不能表示成行列结构表格形式的数据,比如系统设置、图象、声音等。
多个SAS文件可以放在一起,称为一个SAS数据库(Library)。
数据库有一个库名(Libname),其命名遵循上述SAS名字命名原则。
在MSDOS/Windows环境中,一个SAS数据库实际是磁盘上的一个子目录(特殊情况下一个数据库