失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > SAS入门教程1---SAS系统简介

SAS入门教程1---SAS系统简介

时间:2021-02-18 18:08:40

相关推荐

SAS入门教程1---SAS系统简介

第一章 SAS系统简介

一. 概述

SAS (Statistical Analysis System) 是一个模块化、集成化的大型应用软件系统。它由数十个专用模块构成,功能包括数据访问、数据储存及管理、应用开发、图形处理、数据分析、报告编制、运筹学方法、计量经济学与预测等等。

SAS系统基本上可以分为四大部分:

1.SAS数据库部分

2.SAS分析核心

3.SAS开发及呈现工具

4.SAS对分布处理模式的支持极其数据仓库设计

SAS系统主要完成以数据为中心的四大任务:

1.数据访问

2.数据管理

3.数据呈现

4.数据分析

二. 基本概念

SAS系统是一个跨平台的系统,可在许多操作系统下运行,(包括DOS, WINDOWS, UNIX等),但无论在什么环境下,它都提供一个统一的运行环境。首先我们要了解一下SAS的一些基本概念。

1. SAS Data Libraries (SAS数据库)

所有的SAS文件储存于SAS数据库,这些文件包括SAS的数据集(data sets)、目录(catalogs)和程序(programs)等。或者说,SAS数据库就是这样一些文件的集合。

在有些环境中,SAS数据库就是储存在一起的一些文件,比如在WINDOWS或UNIX下,一个Library就是指在同一目录下的一组文件;而在另外一些环境中,同一个SAS数据库中的文件并不一定是储存在一起的,它们只是在逻辑上有关联。

为了访问一个数据库,你要给每个数据库设一个标记,称为libref (libraryreference),这样在SAS 的执行过程中,就用这一标记来表示这个数据库。

例如:对于一个SAS数据库,它指在一个目录 d:\hu\data1 下的一组文件,你可以给它一个名字,比如叫lib1,这个lib1就是该数据库的标记(libref)。

2. Temporary and Permanent SAS Libraries (SAS的临时和永久库)

SAS数据库分为临时库和永久库两种。临时库只有一个,标记为work,它在SAS每次启动后生成,SAS结束时库中所有数据被自动删除;其它的库均为永久库,SAS结束时不会自动删除永久库中的数据,但库标记都是临时的。SAS每次启动时会自动指定两个库标记,一个是work,另一个是sasuser,其中work是临时的,sasuser是永久的,用户可以根据自己的需要用libname命令指定其它的永久库。

3. SAS Files (SAS文件)

SAS文件是指储存在SAS数据库中的成员, SAS文件的主要类型有:

1) SAS数据集,包括DATA和VIEW

2) SAS目录,CATALOG

3) SAS程序,包括PROGRAM和ACCESS

4. Referencing SAS Files (指定SAS文件)

每个SAS文件都有一个二级名(two-level name),第一级是库标记,第二级是文件名,中间用点(.)分隔。在程序中通过指定二级名来识别SAS文件。

例如: sasuser.class 指储存在永久数据库sasuser中的SAS文件class。

而 work.mytest指储存在临时数据库work中的SAS文件mytest。

而 lib1.work指储存在用户指定的永久数据库lib1中的SAS文件work。

注意,你可以用一级名(one-level name)来表示一个临时文件,因为第一级库标记的缺省值是work。

5. SAS Data Sets (SAS数据集)

一个SAS数据集是一个SAS文件,一般它由以下两部分组成:

1)描述部分:包含该数据集的一般信息,包括

A.数据集的名字及其成员类型

B.数据集建立的日期和时间

C.观测的数目

D.变量的数目

以及数据集中每一个变量的特征信息,包括

A.名字

B.类型

C.长度

D.位置

E.格式

F.标记

2) 数据部分:包含该数据集中收集的数据的值,可以看作是一个矩形的表格。

表格的列(Columns)称为变量(Variables),对应于原始数据文件或其它一些外部数据库所称的阈(fields)。

表格的行(Rows)称为观测(observations),对应于原始数据文件或其它一些外部数据库所称的记录(records)或数据行(data lines)。

6. SAS Names (SAS的名字)

SAS数据集和数据集中的变量都有名字,这些名字的命名应该尽量使其能反映数据集中储存的信息的内容。对所有的SAS的名字有以下命名规则:

1)长度为1-8的字符

2) 以字母(a-z)或下划线(_)开始

3) 接以数字、字符或下划线的任意组合。

例如: month class A1_2 B _1990 B2B

均可用作SAS的名字,而

firstname 2nd Class-A

则不可用作SAS的名字。

7. Variable Type(变量的类型)

变量的类型可以分为字符型和数值型。

1)字符型变量可以包含任意字母和其它符号

2)数值型变量只能包含数值(数字0-9,+,-,.,及科学记数法中用的E)

SAS系统中对变量的遗漏数据表示为:

1)字符型变量的遗漏数据用空格表示

2)数值型变量的遗漏数据用点(.)表示

8. Variable Length andPosition(变量的长度和位置)

一个变量的长度(用于储存该变量的字节数)依赖于的的类型

1)字符型变量可以包含1到200个字符

2)数值型变量的缺省长度为8

除非另外设定其长度,数值(不管包含多少位小数)都按照浮点数储存在8个字节中。

在SAS数据集中,变量的位置由变量的顺序决定,一般来说在SAS数据集的使用中不必关心变量的位置。

9. Variable Formats(变量的格式)

变量的格式包括输入格式(informats)和输出格式(formats),它们分别影响数据读入和显示的方式,SAS系统对数值型和字符型数据提供多种输入和输出格式

1)读入包含字母和特殊符号的数值时,必须使用输入格式

例如:$1,234 à COMMA. à 1234

读入数据"$1234"中包含美元符号"$"和逗号",",利用输入格式(COMMA),得到标准的数值"1234"。

2) 当希望以特定形式显示时,要使用输出格式

例如:1234 à DOLLAR9.2 à $1,234.00

3) 关于日期的格式

例:14JAN90 àDATE7. à 10971 à MMDDYY8. à 01/14/90

10. Variable Labels(变量的标记)

每个变量还可以有一个标记,通常每个变量的含义由变量名来表达,但变量名仅限于8个字符的长度,有时候就需要设定一个标记来反映该变量更多的信息。

变量的标记可由最多40个字符的说明文字组成。

11. Characteristics of SASPrograms (SAS程序的特征)

SAS程序有两种类型的程序步(steps)组成:

数据步(DATA steps)和过程步(PROC steps)

1) 数据步(DATA steps)通常用于创建SAS数据集,但也可以用于产生特别设计的报表。

2) 过程步(PROC steps)通常用于以SAS数据集的形式分析和处理数据,但有时候也可用于创建数据集。

一个SAS程序就是由数据步、过程步或两者的任意组合而成。每一个步通常由若干语句(statements)构成。

一个SAS语句有两个重要特征:

1) 它通常由SAS关键词(keyword)开始

2) 它总是以分号";"结束

SAS程序例子:

data bankacct;

infile records;

input name $ 1-10 accttype $12-20

deposit 22-25 withdraw27-30;

proc print data=bankacct;

proc means data=bankacct mean;

var deposit withdraw;

run;

一个数据步由关键词DATA开始,而一个过程步由关键词PROC开始。

SAS语句是自由格式的,也就是说

1) 它们可以在任一列开始和结束

2) 一个语句可以由几行组成

3) 几个语句可以在同一行内

SAS语句中的词(words)之间用空格或特殊符号分隔。

12. Processing SAS Programs(SAS程序的处理)

当一个SAS程序被提交(submit)时,每一个DATA、PROC或RUN语句会导致前面的程序步被执行,所以,一个SAS程序应以RUN语句结束,否则,最后一个程序步不会被执行。

每一程序步被分别执行,执行时,SAS系统会产生一个日志(SAS log)记录执行过程中的信息和可能发生的任何错误。执行的结果根据SAS程序的不同而有所不同:

1) SAS程序经常涉及一些过程,它们会创建报表形式的输出(output)

2) 有些SAS程序的执行会创建一个窗口过程

3) 也有一些SAS程序执行诸如排序或数据处理过程,除了在日志中的记录之外,不产生可见的输出结果。

三. 显示管理系统(Display Manager)

SAS系统提供一个强有力的交互式用户界面,称为显示管理系统(Display Manager),一进入SAS就自动启动显示管理系统。显示管理系统主要由以下几个窗口组成,它们可以完成许多SAS的基本任务:

前四个为显示管理系统的四个基本窗口。

1. The PROGRAM EDITOR and LOGWindows(程序编辑窗口和日志窗口)

显示管理系统的四个基本窗口中包括程序编辑窗口和日志窗口,一进入SAS就会看到这两个窗口。

在程序编辑窗口中,你可以

1)输入、编辑和提交程序语句

2)打开以前储存的程序

3)将程序存入文件

在日志窗口中,你可以看到你提交的程序执行过程中系统产生的一些信息。

2. The OUTPUT Window(输出窗口)

当你的程序产生输出结果时,输出窗口会自动显示。在输出窗口中,你可以浏览你当前的SAS程序产生的输出结果。

3. The OUTPUT MANAGER Window(输出管理窗口)

在输出管理窗口中,你可以浏览(Browse)、编辑(Edit)、删除(Delete)、储存(File store)和打印(Print)SAS的输出结果。输出管理窗口可通过以下方式打开:

Globals à Present à View output

在输出管理窗口中,对每一条输出,它会显示

1)产生该输出的过程名

2)起始页数

3)长度(页数)

4)一段描述

你可以在每一条输出显示的左边,键入B、E、F和P等命令来执行相应的操作。

4. Activating Windows(激活窗口)

激活窗口实际上是指当前你可以输入指令或进行编辑的窗口,它可以是程序编辑窗口或日志窗口等任何一个窗口。激活一个窗口的方法可以是:

1)将光标移至该窗口,并按“ENTER”键或鼠标键

2)输入与该窗口名相应的指令

5. Issuing Commands(发布命令)

在显示管理系统中,你可以有三种方式输入你的指令

1)利用操作工具栏(action bar)

2)在命令行(command line)中直接输入命令

3)利用功能键

在某一个窗口中的输入方式可以是操作工具栏,也可以是命令行,在许多系统中通常设定操作工具栏为缺省输入方式,可通过以下方法切换为命令行方式:

Globals à Options à Command line

在命令行方式下,可通过输入“COMMAND”命令切换为操作工具栏方式。

6. Submitting a Program(提交程序)

当你在程序编辑窗口中完成程序的输入或修改以后,可以按以下方法提交你的程序:

Locals à Submit

在程序执行过程中,SAS系统在日志(LOG)窗口中记录以下信息:

1)提交的SAS语句

2)关于数据读入的提示信息,包括数据的位置、读入的记录数、记录的最大长度等

3)程序运行成功的确认信息,或者不成功时的错误信息提示和警告

7. Clearing Messages(清除信息)

在SAS运行过程中,LOG窗口和OUTPUT窗口中的信息是累积的,如果你不希望保留以前运行过程中产生的LOG和OUTPUT,可以按以下方法清除这些信息:

Edit à Clear text

8. Recalling Your Program(重新调出程序)

你可以按以下方法把上次提交的程序重新装入PROGRAM EDITOR 窗口:

Locals à Recall text

用这一方法,在程序调试中可以很方便地修改错误。

9. Storing a File(储存文件)

你可以在PROGRAM EDITOR 窗口中按以下方法把程序存入外部文件:

File à Save as à ……

在LOG或OUTPUT窗口中也可以按同样方法半日志或输出结果存入外部文件。

10. KEYS Window(功能键窗口)

功能键窗口允许用户定义或改变功能键所代表的命令。要进入功能键窗口,以下两种方法均可:

1)在命令行中输入“KEYS”即可

2)选择 Help àKeys

功能键窗口列出了所有功能键所代表的命令,用户可以修改它们,完成之后用

File à end

退出该窗口即可。

11. HELP Window(帮助窗口)

为得到显示管理系统或SAS的有关帮助信息,可进入帮助窗口,进入方法为:

1)在命令行中输入“HELP”, 或

2)选择 Help à SAS System

12. Other Windows(其它窗口)

除了以上提到的这些窗口之外,显示管理系统还包括许多其它窗口,例如

13. Frequently Used Commands (常用命令)

显示管理系统提供了许多命令,以下是一些非常常用的命令:

四. SAS程序的调试

上面我们了解了如何提交一个SAS程序,解释了运行过程产生的LOG和OUTPUT,并且知道了如何保存你的SAS程序。下面,我们要讨论当你的SAS程序中存在错误时,你应该如何找到这些错误并进行修正,也就是说,如何来对你的SAS程序进行调试。

1.Including a Stored Program(引入一个已储存的文件)

如果你想要调试的SAS程序原来已经储存在外部文件中,那么你可以在程序编辑器中选择

File à Open

然后找到你需要的文件,确认后,该文件就被调入程序编辑器中。这跟你直接在程序编辑器中输入是一样的,只是比起每次重复输入要简单得多。

接下来,你就可以对程序编辑器中SAS程序进行修改,或将它提交SAS系统运行了。

2. Syntax Errors(句法错误)

当你把一个SAS程序提交后,你希望它能正确运行,并显示出你希望看到的结果,但有时候,由于你的疏忽或其他某种原因,你的SAS程序中存在一些错误,导致它不能正确运行。这时,你就需要找到错误并改正它。`在SAS程序中,最常见的,也是最容易发现的一类错误是句法错误,句法错误大致包括

1)关键词拼写错误

2)语句末的分号遗漏

3)设定无效选项(invalid options)

4)遗漏必要的语句

当SAS在运行过程中发现句法错误时,它会在 LOG窗口中显示“ERROR”,并指出错误发生的位置以及可能的原因。因此,当你的SAS程序没有按照你的期望正确运行的话,你就应当到LOG窗口中寻找可能产生错误的原因,并设法修正它。

句法错误通常会导致错误所在的程序步停止运行。

3. Text Editor Commands(文本编辑器命令)

为了修正或修改你的SAS程序,你可以使用“RECALL”命令将刚才提交的SAS程序调回程序编辑器,然后用文本编辑器命令来进行编辑。

文本编辑器命令可以让你删除(delete)、插入(insert)、移动(move)、复制(copy)和重复输入(repeat)文本,这些命令必须在程序编辑器的行数区(line numberarea)输入。如果在你的程序编辑器中没有显示行数,你可以输入“numbers”或“nums”命令,或选择“EditàOptionsàNumbers”来打开程序编辑器的行数区。

下面列出这些文本编辑器命令

下面举几个例子说明如何使用这些文本编辑器命令:

1)删除第三行:

将光标移至行数区第三行,按“D”, 然后按“ENTER”即可。

2)删除第三至第七行:

将光标移至行数区第三行,按“D5”, 然后按“ENTER”即可。

或者:

将光标移至行数区第三行,按“DD”, 然后将光标移至行数区第七行,按“DD”,最后,按“ENTER”即可。

3)在第三行前插入一行:

将光标移至行数区第三行,按“IB”, 然后按“ENTER”即可。

或者:

将光标移至行数区第二行,按“I”, 然后按“ENTER”即可。

4)在第三行后插入四行:

将光标移至行数区第三行,按“I4”或“IA4”, 然后按“ENTER”即可。

或者:

将光标移至行数区第四行,按“IB4”, 然后按“ENTER”即可。

5)将第三行至第五行移至第七行后

将光标移至行数区第三行,按“M3”, 然后将光标移至行数区第七行,按“A”,最后,按“ENTER”即可。

或者:

将光标移至行数区第三行,按“MM”, 然后将光标移至行数区第五行,按“MM”,再将光标移至行数区第八行,按“B”,最后,按“ENTER”即可。

6)将第三行至第五行复制至第七行后

将光标移至行数区第三行,按“C3”, 然后将光标移至行数区第八行,按“B”,最后,按“ENTER”即可。

或者:

将光标移至行数区第三行,按“CC”, 然后将光标移至行数区第五行,按“CC”,再将光标移至行数区第七行,按“A”,最后,按“ENTER”即可。

4. Clearing Contents(清除内容)

在程序调试过程中,你可能需要清除某些窗口中的内容,以便更清楚地看到最近一次执行过程中显示的信息。为清除某窗口中的内容,你可以在该窗口中选择:

Edit à Clear text

或者,在命令行中输入命令:

clearrecall 清除recall缓存中的内容

clearpgm 清除程序编辑器中的内容

clearlog 清除LOG窗口中的内容

clearout 清除OUTPUT窗口中的内容

5. Replacing a Stored File(替换一个已储存的文件)

当你完成程序的调试或调试到一半想要暂停时,你可能希望将你的程序保存下来,以后可以再用。为此,你可以在程序编辑器窗口中选择:

Fileà Saveas

会出现一个对话框,输入你想要存为的文件名,或直接在对话框中选择已有的文件名,按“OK”即可。若该外部文件已经存在,系统会提示你,是替换(Replace)、附加(Append)还是取消(Cancel),可根据你的实际情况选择。

五. 练习

1.打开SAS,熟悉显示管理系统界面。

2.试验在操作工具栏和命令行两种方式之间切换。

3.试验在不同的窗口之间切换。

4.进入帮助窗口,浏览系统的帮助信息。

5.进入功能键窗口,了解各功能键的作用。

6.试验在程序编辑器中输入程序。

7.试验在程序编辑器中用文本编辑命令修改程序。

如果觉得《SAS入门教程1---SAS系统简介》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。