菜单栏 工具行 国1-2SAS80厦本撞作界面 选择、查找、替代等编辑工作 【View】 -视图选项。它主要用于切换不同的视窗。 【Tools】 工具选项。它主要提供各种编辑工具,并可以进行系统信息的 更改与管理。 【Run】 一程序运行选项,它负责提交程序给SAS运行。该选项只在当前 主窗口为编辑窗口时出现。 【Solutions】)一分析方案选项。它提供各种分析方法. 【Window】 一窗口选项。它主要控制视窗的大小、排列方式及视窗间的 切换。 【Help】一帮助选项,它负责提供各种帮助。 二、工具栏 菜单栏下是一列图形化的工具栏,提供了最为常用的一些功能。根据图1 2的工具栏从左到右排列,它们分别是:命令输人及提交执行窗口、创建新文 件、打开旧文件、保存、打印、预览、剪切、复制、粘贴、复原、目录库、资源 管理器、提交程序给SAS运行、删除、中断运行、帮助等16个工其选项。 三、窗口 SAS有三个基本窗口:程序编辑窗口(Program Editor),运行记录窗口 (Log)和结果输出窗口(Output),我们将在程序编辑窗口编辑、修改程序:在 运行记录窗口观察程序运行状况,获得错误提示:在结果输出窗口观看程序运行 结果。 1.6.2创建时间序列SAS数据集 要使用SAS分析数据,首先要将数据转换成SAS系统能够分析的SAS数据 集(SAS datasets) 7
根据数据的不同来源,SAS系统提供了多种创建SAS数据集的方法,我们 以如下数据为例,介绍两种最常用的创建SAS数据集的办法。见表1一1。 表1-1 时间 价格 2005年1月 0 2005年2日 2005年3月 66 2005年4月 35 2005年5月 2005年6月 一、使用DATA步创建SAS数据集 1.创建临时数据集 在程序编辑窗口(Program Editor)输入如下命令,即可产生一个名字为 examplel1的临时数据集储存上述数据。 data examplel_1; input time monyy7.price; format time monyy5.; cards: Jan2005101 Feb200582 Mar200566 ADr200535 May200531 Jun20057 run; 语句说明: (1)SAS系统的命令语句不分字母的大小写,单词之间至少空一格,每条命 令都用分号“;”作为结束提示。 (2)“data examplel_l;” 这是命令SAS系统建立一个名字为examplel_l的临时数据集。该数据集 在本次SAS系统运行过程中会始终保存在一个名为WORK的数据库中,··旦退 出本次SAS系统运行,该数据集将不存盘退出。 (3)“input time monyy7.price;” 8
这是告诉SAS系统,我们要输入两个变量的数据 第一个变量取名为“time”,“monyy7.”,说明该变量是时间变量,且指定 了数据的输入格式为字符长度为7的月份一年度数据,输入格式为月份的3位缩 写字母加4位年份数据,形如“Jan2005”。 第二个变量取名为“price”。对它我们没有指定变量类型和数据输入格式, 那么系统就自动将它视为数值型变量,自动读取任意长度的变量值。 对不同类型的数据,SAS支持多种类型的输入、输出格式,常用输入、输 出格式见附录2。 (4)“format time monyy5.,” 这是告诉SAS系统,“time”这个变量的输出格式是字符长度为5的月份 年度数据,输出格式为月份的3位缩写字母加2位年份数据,形如“Ja05”。否 则SAS会按照它的系统时间格式输出“time”的值。 (5)“cards;” 这是告诉SAS系统,下面开始输人数据行了。接着就是数据录入。我们既 可以通过光标引导键入数据,也可以通过复制、粘贴等功能从其他文件中将数据 复制过来 在此数据以列的方式被读取,第一列数据会自动赋值给变量“time”,第二 列数据会自动赋值给变量“price”",其余的数据将被忽略。 如果将第二句命令修改为“input time monyy7.price@@;”,则数据将会以 行的方式被读取:第一个数据赋值给变量“time”,第二个数据赋值给变量 “price'”,第三个数据赋值给变量“time”,第四个数据赋值给变量“price”"… 数据输入完毕后,另起一行输入命令结束符号“:”。 (6)“run; 这是告诉系统程序写好了,可以运行了。 点击工具栏上SUBMIT图标(■),提交这个程序开始运行,运行结束后 一个名为examplel_1的临时数据集就建立了,在本次SAS运行中,我们可以 随时调用这个数据集。 2.创建永久数据集 SAS规定每个数据集使用二级命名制一数据库名·数据集名。所谓“数 据库”类似于文件夹的概念,是一个专门存储数据集的仓库。SAS系统本身提 供了两个通用数据库。 一个是存放临时数据集的数据库一WORK数据库。该库中的数据集在 本次SAS系统运行中始终存在,而一且退出本次操作,该库中的数据集将被 9
全部删除。SAS会自动地把所有省缺数据库名的数据集存于WORK数据库 中。 另一个是永久数据库—SASUSER数据库。所谓永久数据库就是指在该库 建立的数据集不会因为你退出SAS系统而丢失,它会永久地保存在该数据库中, 你以后进人SAS系统还可以从该库中调用该数据集。 使用如下命令就可以得到一个名字为sasuser..examplel_l的永久数据集。 data sasuser.examplel1; 除了“SASUSER”这个永久数据库之外,我们还可以使用1 libname命令建 立自己的永久数据库。 假定我们的SAS软件安装在D盘,并且已经在SAS目录下建立一个名为 myfile的子目录(文件夹),就可以通过如下命令在该目录下建立一个名为data fe的水久数据库,并将数据集examplel_1存入这个永久库中。 Libname datafile 'd:sas\myfile'; data datafile.examplel1; 以后这个数据集将一直以datafile.examplel_l这种二级名称的形式被引 用。 3.查看数据集 建立好一个数据集之后,我们可以使用PRNT程序查看这个数据集的结 果。命令格式为: proc print data一数据库名,数据集名; 在原程序中添加如下命令可以查看临时数据集examplel_I的内容 proc print data=examplel_1; run: 运行该程序,在结果输出窗口(Output).,得到如下输出结果: O儿s time price 1 JAN05101 2 FEBO5 82 MARO5 66 APRO5 35 6 MAY05 31 6 JUNO5 7 假如从输出窗口发现数据集的数据输入有误,可以返回程序编辑窗口,修改 程序及数据。 10
二、直接导入外部数据文件转换成SAS数据集 SAS系统不仅允许我们在系统内部通过程序编辑的方式创建数据集,而且 还允许我们将多种形式的外部数据文件直接导人,转换成SAS数据集。 假定我们先将上述数据存为Excel文件,文件名为examplel_l.xls。通过 如下操作,这个Excel文件可以直接转换成SAS数据集 第一步:选择导入外部数据文件选项。 在菜单栏中,点击【Fl】选项,拉下文件管理菜单,点击其中的输人数据 选项(Import Data)。 第二步:选择要输入数据的类型。 进人输入数据界面之后,首先是要选择输入数据的类型,SAS的默认设置 是Microsoft Excel97or2000(*.xis),我们的文件正好是这个格式,选择 Next选项,进行下一步。 第三步:指明该输入文件的路径。 点中BROWSE选项,指明输人文件examplel_l.xls的路径,选择Next选 项,进行下一步。 第四步:指定该文件转换成SAS数据集后存放的数据库及数据集名。假定 我们指定的是SASUSER库,文件名取为examplel_l,点击Finish选项,数据 格式转换完成之后,一个名为sasuser..examplel_l的永久SAS数据集就建立好 了,我们直接调用该数据集进行分析。 1.6.3时间序列数据集的处理 一、间隔函数的使用 如果没有现成的电子版数据导入,而是需要通过键盘录人数据,那么时间数 据的录入将是非常麻炳的一件事情。对于等时间间隔数据,SAS提供了一种间 隔函数NTNX,它可以根据需要自动产生等时间间隔的时间数据。 例如运行如下程序: data examplel_2; input price; time=intnx(‘month',‘01jan20o5’d,_n_-1); format time monyy.; cards; 3.41 3.45 11