SAS.docx
《SAS.docx》由会员分享,可在线阅读,更多相关《SAS.docx(100页珍藏版)》请在冰点文库上搜索。
SAS
SAS第一课:
SAS界面及基本操作概述
欢迎进入SAS世界!
十几年来,SAS系统凭借其强大而完备的功能在统计软件界独占鳌头。
如今,操作系统已进入了Windows时代,SAS的Windows版本也已日渐成熟。
因此我们将以其Windows6.12版本为主讲述SAS系统的使用。
在本章,我们将首先对SAS系统的界面及各部分的功能作简要介绍,随后以一个简单的SAS程序为例,讲述一些常用的操作,为以后深入学习SAS打下基础。
§1.1SAS界面简介
1.1.1SAS的启动
在进入Win95系统后,你在Windows桌面上将可以看到形如“
”的,看上去象一个不怎么可口的草莓冰淇淋的SAS图标。
将鼠标移到图标上(注意:
是图标上而不是图标下方的说明文字上),双击该图标,则很快出现SAS的启动画面,等待4~7秒钟,系统即完全进入SAS环境。
1.1.2SAS的图形窗口界面
进入SAS后,展现在大家面前的界面如下图所示,在其中我们用蓝色线条将各个部分分开了,请将鼠标在各位置停留,会有相应位置的名称弹出。
现将其主要部分分别描述如下:
1.控制钮在窗口的左上角,显示为程序相应的图标,图中则显示为SAS图标。
用鼠标点一下控制钮,则会弹出其所代表窗口的控制菜单。
2.标题条显示所在窗口内容的名称或者标题,图中则显示为程序名“SAS”。
3.最小、最大/中间化、关闭按钮形如“
”,在窗口的右上方依次排列,最左侧为最小化按钮,用鼠标单击该按钮,则系统窗口回缩到Windows状态栏上成为一个图标,再用鼠标单击已经最小化了的窗口图标,则窗口恢复原来的大小;中间的一个按钮,当该按钮为单框时,为最大化按钮,按一下该按钮则窗口扩大到全屏幕,此时该按钮变为双框的中间化按钮形如“
”,按下此按钮则窗口又回到中间状态;最右侧的按钮为关闭按钮,按下此按钮时,则系统非常有礼貌的弹出一个对话框,询问你是否真的要退出SAS,用鼠标义无反顾地按下确定按钮,我们就退出系统,回到了Win95桌面(快回来,我还要继续介绍呢!
)。
4.菜单条又叫下拉菜单,是Windows程序的重要组成部分,利用它我们可以完成各种功能,从而轻松的驾驭SAS系统。
以“Edit”菜单为例,用鼠标点一下Edit项,该菜单项就会弹出其相应的下拉菜单,请注意第三项“Cut”为灰色,表示该命令现在不可用,而倒数第2项“Checkspelling”右侧有一个小黑三角,这表示该菜单项有自己的次级菜单,将鼠标移到该处,则次级下拉菜单自动弹出,如此反复,直至找到所需命令为止,然后将鼠标指向项目所需菜单项,单击左键,则该命令开始运行。
5.快捷工具栏使用菜单命令有时要移动好几次鼠标,比较麻烦,因此程序设计者将常用命令作成快捷工具栏,以便大家使用。
以最右侧形如“
”的按钮为例,请将鼠标移到该按钮上方静止不动,很快Windows弹出该按钮的提示“Help”,表明该按钮为帮助按钮,用鼠标点一下该按钮,则可以打开帮助视窗。
6.命令框可以将它和DOS状态下的命令行相对应。
SAS命令就由该命令框输入。
对于SAS系统的熟练使用者来说,使用系统最快捷的方式就是在命令框打入命令。
以退出SAS为例,只要在命令框中点一下鼠标,使字符光标进入命令框(即其中出现闪烁的光标),在其中输入“bye”,然后回车,SAS系统就和我们彻底Bye-bye了。
7.窗体这一部分就是除了其余7部分外的,占屏幕绝大部分的――部分。
不幸的是,在这里无法看到,因为里面塞满了其它东西。
1)PGM视窗即programeditor窗口,但称做PGM视窗以增加神秘感。
有时该视窗内可能自动给出程序行号,不用管它。
PGM视窗也是一个Windows窗口,因此有自己的控制钮、标题条等。
注意和LOG视窗相比,它的标题条为深色,表示它为当前(子)窗口。
除了这些以外,这里还出现了一个新玩意――滚动条。
m水平/垂直滚动条形如“
”,用来左右/前后移动窗口中的内容,注意如果现有内容可以全部被显示出来,则滚动条消失。
滚动条的长度代表全部内容的长度,中间的小块叫滑块,代表现在窗口内容在全部内容中占的比例和所在位置。
单击滑块两侧的空白区域可使显示内容翻页,单击滚动条两侧的小黑三角则可使显示内容移动一行/列。
我们也可以采用拖动滑块的方法快速找到想看的内容。
2)LOG视窗用于输出程序在运行时的各种有关信息。
主要有以下几种内容:
●程序行黑色,以系统给出的顺序行号123...开始。
忠实的记录了执行过的每一条语句。
●提 示蓝色,以NOTE开始。
提供系统或程序运行的一些常规信息,大多数时候我们可以视而不见。
●警 告绿色,以WARNING开始。
一般在程序中含有系统可以自动更正的小错误时出现,此时会提供错误序列号。
但有时也提供内存不足、软件执照即将到期等信息(使用正版软件可真烦人)。
出现警告时一般应注意阅读,如程序有错误应立即改正。
●错 误红色,以ERROR开始。
SAS非常狡猾,你的程序稍微难懂一点它就大惊小怪地报错,把问题全推给了你,弄得你不得不重来一遍(有些同学从这里受到启发,程序一有问题不自己动脑,立刻就找带习老师,唉!
)。
现在在LOG视窗中只有两条提示信息,第一条是SAS研究所的版权声明,第二条则标出了软件版本号和软件执照拥有单位。
其余三种信息我们以后会逐渐见到(可能有的同学还会看到其它信息,没关系,只要不是红色的就行)。
由于SAS是一个典型的MDI(多文档界面)程序,因此在其窗体内可以有多个子窗口,但当前子窗口只有一个(即标题栏深色显示的那个),我们所做的操作均是针对当前子窗口的,如果要对其它子窗口进行操作,则一般均需切换当前子窗口。
SAS的子窗口有十几个,但我们常用的只有四个:
PGM视窗、LOG视窗、用于输出统计结果的OUTPUT视窗和输出绘图结果的GRAPH视窗。
1.状态栏它在系统中又被分为两部分。
●当前文件夹表明系统当前的所在位置。
我们所做的读、写文件等操作均默认在该文件夹中进行,在图中当前文件夹为“C:
\SAS”。
●消息栏对于系统在运行中发生的任何情况,在消息栏上都会显示出相应的信息。
仍以刚才帮助按钮为例,当系统显示帮助按钮的提示时,在消息栏中也同时会显示如下的信息“Commandsfordisplayinghelp”,它可以帮助我们及时了
解系统所处的状态。
双击“C:
\SAS”处即可改变当前文件夹。
Windows中的文件夹=DOS中的子目录如果你发出命令而没有得到预料中的结果,一定要先看看消息栏,往往在这里会有出错信息或警告。
§1.2SAS界面操作入门
1.2.1编写您个人历史上的第一个SAS程序
在上一节我们介绍了SAS系统的界面,现在让我们一起来编写您个人历史上的第一个SAS程序(请记住这个时刻,人类历史将很可能由此而翻开新的一页),首先,请在PGM视窗中键入以下程序:
title"Whosaidwecan'tholdtheworld!
";
datatemp;
inputxy@@;
cards;
345678903567891023657745
;
prcprint
run;
quit;
可千万不要敲错呀!
1.2.2程序的运行
选择下拉菜单LocalsèRun或直接按下F3键,程序即被提交运行。
大家可以看到视窗中不断出现各种信息,最后出现了红色的“Error”提示,表明该程序有错。
下拉菜单会随着当前窗口的改变而改变,如果在Local菜单中没有找到Run项,则请注意你的当前窗口是否为PGM视窗。
1.2.3程序的修改
唉!
第一次放飞就碰到下雨,哪里错了呢?
为了了解程序执行的详细情况,我们拖动垂直滚动条浏览全部LOG视窗输出,以得到具体的错误提示。
LOG视窗的输出如下:
1title"Whosaidwecan'tholdtheworld!
";
2datatemp;
3inputxy@@;
4cards;
NOTE:
SASwenttoanewlinewhenINPUTstatementreachedpasttheendofaline.
NOTE:
ThedatasetWORK.TEMPhas6observationsand2variables.
NOTE:
TheDATAstatementused2.85seconds.
6;
7prcprint
---
14
8run;
---
202
9quit;
WARNING14-169:
AssumingthesymbolPROCwasmisspelledasPRC.
ERROR202-322:
Theoptionorparameterisnotrecognized.
NOTE:
TheSASSystemstoppedprocessingthisstepbecauseoferrors.
NOTE:
ThePROCEDUREPRINTused0.28seconds.
LOG视窗将运行的程序加上行号并逐行输出,同时给出相应的提示,但在第七和第八行时,分别在它们下面画了红色的横线,并标以相应的数字。
这表明SAS系统发现了错误,数字代表相应的错误号,再往下有相应错误的具体解释。
可以看到:
系统警告我们可能将“proc”拼成了“prc”;同时指出错误:
“run”这个参数无法解释。
经过检查发现,“print”后面少了一个分号,而SAS语句是以分号为语句结束符的,从而使系统认为7、8两句是一个程序行,因此将“run”判为“print”的参数,自然无法识别。
这样我们就找到了全部的错误。
要将“prc”改为“proc”,并且在“print”后加一个分号。
可是PGM视窗已经空了,怎样唤回已经逝去了的程序呢?
只要选择Localsèrecalltext或直接打“F4”键,就可以呼叫回上一次所提交的程序。
现在改正刚才的错误,再次提交运行该程序。
这次LOG视窗信息表明程序已经成功运行,大多数时候OUTPUT视窗会自动弹出,如果没有弹出,则请注意系统窗口的左下方,可能OUTPUT视窗在此处缩小为最小化图标,将该图标最大化即可看到输出结果。
如何切换子窗口?
选择Globals下拉菜单,前四项依次是常用的四个窗口的列表,从其中选择您所青睐的那个即可。
1.2.4程序的存储
SAS不是一个字处理软件,因此它的文件保护功能很弱。
如果你不保存文件,在退出系统时它会自作聪明地以为你因
为对生活失去了信心而不想保存,从而不忍心提醒你,其结果则是――洗白(统计之星工作室注:
这个词是四川话特有的,意为彻底打败,一场空等)。
现在我们已经成功的运行了这个程序,作为纪念,我们想将这个第一个程序存在磁盘上,则选择菜单FileèSave,系统弹出Save对话框如下:
请注意存为类型框,将该框右侧的小三角点一下,则会弹出类型列表如下。
该列表给出了系统所指定的五种存盘文件类型,它们分别是:
●*.sasSAS程序文件。
●*.logLOG视窗输出文件。
●*.lisOUTPUT视窗输出文件。
●*.dat纯文本格式的数据文件。
●*.rtf与WORD兼容的RTF格式文件。
我们要存的文件类型显然为*.sas类型,因此用鼠标选择*.sas类型,然后再看保存位置框,它显示当前文件夹位置为C:
\SAS文件夹,而我们想将该文件存入C:
\USER文件夹,因此要首先改变当前文件夹。
先按向上一级按钮“
”,此时文件夹退回C盘盘根,在对话框主框体中寻找,可以看到文件夹列表中已经出现了USER文件夹(如果没看见,拖动滚动条的滑块找一下),用鼠标双击,则进入该文件夹。
现在在文件名框中点一下,让字符光标进入该框,键入文件名“Myfirstsasprogram”,再按保存按钮,则该文件被存储,系统退回到SAS界面。
请注意消息栏显示“NOTE:
9line(s)writtentoexternalfile.”,表明文件已经成功存盘,而且PGM视窗中的标题也已经改变为“PROGRAMEDITOR-Myfirstsasprogram”。
好了,以后PGM视窗里的任何改动就全部算在这个程序的头上啦!
1.2.5如何打开一个存储的程序
如何打开?
非常简单,选择菜单FileèOpen,系统就会不顾一切地弹出Open对话框,在里面把你要的东西找到就行了。
1.2.6文件的换名存储
该做的好象都做完了,不过好象还缺点什么――糟糕,这本教材的读者不止我一个,他们岂不是将自己的程序都取这个名字?
不行,我得给我的宝贝程序换个名字,叫Taitanic如何?
好,首先在PGM视窗中将原程序调出,然后选FileèSaveas菜单,系统弹出和Save对话框完全相同的Saveas对话框,象刚才一样操作即可。
SAS第二课:
SAS/ASSIST视窗简介
SAS是一个庞大的系统,它由许多模块组成,每个模块分别完成不同功能。
由于SAS最初是为专业统计人员设计的(这一点和SPSS恰恰相反),因此使用上以编程为主,初学者掌握较为困难。
现在,微机操作系统已经进入了WINDOWS时代,而WINDOWS软件的一个重要特点就是易学易用。
要想在市场中继续领先,SAS必须推出能体现WINDOWS软件这一特色的新界面,SAS/ASSIST视窗就是这一努力的结果。
虽然它还有许多不足之处,但这一新界面使得初学者较快地学会使用SAS成为可能。
本章将向大家介绍这一SAS的全新界面――SAS/ASSIST视窗。
长期以来,对于统计软件界面的易用性有两种理论:
一种认为统计软件也是软件,美观易用的界面是它必备的功能;另一种理论则认为统计软件有其特殊
用途,现在有许多统计方法实际上是在被滥用,而如果任何人都可以通过简单方便(即“友好”)的界面来使用自己实际上并不了解的复杂统计模型,则等同于是在助长这一现象。
这两种理论都有一定的道理,看来SAS倾向于后者:
ASSIST视窗只能提供较常用的统计功能,并且看上去也不怎么漂亮。
2.0.1ASSIST视窗的启动
ASSIST视窗的启动方法也是比较多的。
如果从下拉菜单启动,则请单击Globals-->SAS/ASSIST,系统将开始启动ASSIST视窗,几秒钟后进入ASSIST视窗主界面如下图所示:
ASSIST视窗的正上方为主菜单名(PrimaryMenu),下面的12个按钮分别表示了在该视窗中可用的各种功能。
常用的按钮有:
●TUTORIAL按钮由此可以进入SAS提供的教学程序
●DATAMGMT按钮由此进入数据库管理模块
●GRAPHICS按钮由此进入绘图模块
●DATAANALYSIS按钮由此进入统计分析的有关模块
●INDEX按钮提供全部可用命令的索引,如果对菜单项的分类不清楚,可以从这里直接查找所需功能
●EXIT按钮使我们可以退出ASSIST视窗
我们主要介绍统计分析功能,对于其它功能,有兴趣的同学可以自行摸索。
单击DATAANALYSIS,则视窗进入二级菜单――数据分析菜单(DataAnalysisMenu),它的布局和主菜单界面基本一致,各种按钮中常用的有:
●ELEMENTARY按钮提供基本的统计分析,如描述、相关、频数表
●REGRESSION按钮提供线性回归、Logstic回归和时间序列回归统计
●ANOVA按钮提供方差分析、非参数检验和t检验
●MULTIVARIATE按钮提供主成分分析等多元分析方法
●QUALITYCNTL按钮进入质量控制模块
●TIMESERIES按钮提供时间序列分析功能
●DATAMGMT按钮与主菜单的该按钮相同,进入数据库管理模块
●INDEX按钮提供全部可用功能的索引
●GOBACK按钮退回主菜单
●HELP按钮启动HELP视窗
2.0.2ASSIST视窗的使用方法
下面我们以一个例子来说明ASSIST视窗的使用方法。
现有数据集SASUSER.CLASS记录了某班学生的年龄、身高和体重情况,我们要对该数据进行简单的描述,则用ASSIST视窗的操作方法如下:
1单击数据分析菜单中的按钮ELEMENTARY,则系统开启一个新的ELEMETARY对话框如下图所示:
2请注意Summarystatistics是以深色显示的,表示该项为默认值。
用鼠标单击该项目,则系统开启下一个对话框――SummaryStatistics对话框如下图所示:
③SummaryStatistics对话框就是统计描述的主窗口,它由一些按钮和复选框(Checkbox)组成,注意Activedataset:
按钮和Variables:
按钮的右侧写着“-REQUIRED-”,表示这两项必须加以定义,否则程序没有足够的信息来运行。
首先定义所分析的数据集:
单击Activedataset:
,则系统开启新对话框如图
A所示:
图A
④在该对话框中列出了可用的所有数据集名,从左到右依次为库名、数据集名和数据集类型,拖动滑块使SASUSER.CLASS数据集出现在窗口中,用鼠标单击数据库名,由于当前数据集只能有一个,所以对话框自动关闭,退回SummaryStatistics对话框。
如果我们再次进入Activedataset对话框,则可见SASUSER.CLASS数据集的左侧有一个星号,如图B所示,这表示该数据集已被选中为当前数据集。
如果要
改变选择,直接单击需要的数据集名,系统会自动替换。
图B
⑤请注意右图,Activedataset:
按钮的右侧显示为SASUSER.CLASS,表示当前分析数据集为SASUSER库的数据集CLASS。
现在我们可以定义分析变量了:
单击Variables:
,系统开启一个变量选择对话框供我们选择变量。
⑥SASUSER.CLASS中可供分析的连续变量均显示在变量窗口中,我们想对这三个变量都做描述,则依次单击三个变量名,单击后变量名的左侧出现一个星号,表示该变量被选中;再单击一次则星号消失,表示撤消选择。
将三个变量全部选中,如图C所示。
然后后按OK,该窗口关闭,系统退回上一级窗口。
图C
⑦Variables按钮右侧显示为AGE、HEIGHT、WEIGHT三个变量。
现在我们输入的信息已经满足了运行程序的最低要求,但是我们还想将结果按性别分开
输出,则单击Class:
,系统开启变量选择窗口如图D所示。
用鼠标单击变量名“SEX”,再单击OK,
图D
此时变量描述窗口如下图所示:
⑧变量的选择告一段落,现在开始选择所需要的统计量。
变量描述窗口的下方为一些复选框,右侧为复选框名,左侧为复选框的状态。
以SUM复选框为例,用鼠标单击SUM左侧的小方框,此时该方框内打勾,表示该项被选择;再点一下则复选框恢复原状态。
如此选择所需的全部统计量,最后变量描述窗口的状态如下图所示:
⑨现在是最后一步――运行程序了,选择下拉菜单Locals-->Run,则系统开始执行程序,最后OUTPUT视窗自动弹出,显示最终的运行结果。
可能有的同学觉得奇怪,为什么我总是说系统在执行程序,刚才没有写程序啊?
!
事实上,SAS/ASSIST视窗是一个程序自动产生器,我们所做的每一个选择都被写成了程序,最后系统执行这个自动产生的程序来向我们交差。
如果想看所产生的程序,则选择下拉菜单LocalsView-->Sourse。
以刚才的选择为例,系统产生的程序其主要部分如下:
procmeansdata=SASUSER.CLASSvardef=DF
MINMAXRANGESUMMEAN
VARSTDSTDERRCV;
varAGEHEIGHTWEIGHT;
classSEX;
;
run;
通过这个例子,我们掌握了使用SAS/ASSIST视窗时将会碰到的窗口界面的用法。
为了使大家在学习SAS时能打下较坚实的基础,本书仍然以讲述SAS语言为
主线。
但是在例题的解中,我们将尽可能给出程序和ASSIST视窗两种操作方法。
同学们可根据具体情况自行选择使用哪种解法。
SAS第三课:
SAS程序基本语法入门
从本质上讲,SAS是一种完善的第四代计算机语言。
因此要真正掌握它,我们仍然要抛开其华丽的外表,从学习它的核心——SAS程序开始。
现在,让我们将SAS看成一个计算能力极强的统计学白痴(之所以这样说,是因为它计算能力虽然极强,却只能帮你计算而不能提出自己的实验设计方案或研究方向来),而你有一个非常小的关于数据分析的问题要请它帮忙。
自然你要开口提出请求,无论措辞是委婉动听还是直截了当,你的大实话无非是“喂,老兄,我有这样一些数据,我想做这样一种统计分析,您能帮我吗?
”。
他迅速检查您的要求,在认为合情、合理并且合法后,就开始进行计算,并且在很短的时间内给出计算结果。
好的,计算机语言就是我们和计算机对话时所用的语言。
和以上人类对话的例子相对照,“我有这样一些数据”对应SAS程序中的数据步;而“我想做这样一些统计处理”对应SAS程序中的程序步;最后的那一句哀求“您能帮我吗”则对应了Submit命令。
在默认情况下,运行结果或者出错信息将自动给出(当然你也可以强制不让它输出)。
此外,还有一些系统环境控制语句,如Libname、title等。
SAS程序就是由一个或多个数据步和/或程序步加上一些乱七八糟的环境控制语句组成。
在本章中,我们将首先学习SAS对数据的管理方式,然后会了解到什么是数据步和程序步,最后则介绍一下SAS语言中结构化语句的语法。
§3.1SAS系统对数据的管理
在SAS系统中只有SAS数据集才能被SAS过程直接调用,SAS数据集的结构和DBF数据库完全相同,因此无须多讲。
而SAS数据集存储在被称为SAS数据库的文件集中,在PC系统中,SAS数据库与某一个文件夹相对应,我们要为每一个数据库指定一个库标记(库名)来识别该库,使用Libname命令可以指定库标记。
它的一般格式如下:
Libname库标记’文件夹位置’选项;
例如要指定目录“C:
\USER”为库标记A,可以在视窗中提交如下语句:
libnamea’c:
\user’;
数据库可分为永久库和临时库两种。
临时库只有1个,名为WORK,它在每次启动SAS系统后自动生成,关闭SAS时库中的数据集被自动删除;永久库可有多个,用户可以使用Libname语句指定永久库的库标记,永久库中的所有文件都将被保留。
但库标记仍是临时的,每次启动SAS系统后都要重新指定。
不过为了方便用户,SAS在每次启动时都会自动指定两个库标
记:
●SASUSER:
指明为永久库,即库中的数据集被保存起来,以便下次启动系统时使用。
●WORK:
指明为临时库,对于开发和检查新程序非常有用,但每次SAS运行结束后WORK库中的所有文件将被删除。
在程序中引用该库中的数据集可以省略库标记,即它被认为是缺省的数据库。
SAS数据库对应文件夹,如SASUSER对应c:
\sas\sasuser,WORK对应c:
\sas\saswork,SAS数据集则对应文件,每个数据集实际上是在硬盘的相应文件夹内产生一个文件名为数据集名,而扩展名为.sd2的文件,因此如果你成功的建立了一个数据集,理论上你就可以反复使用它直到硬盘报废。
每一个数据集都有一个两级名,第一级是库标记,第二级是数据集名,中间用“.”隔开,在程序中通过指定两级名来识别文件。
文件两级名的一般形式如下:
库标记.数据集名
如在a库中的数据集abc可以这样来引用: