Libraries窗口显示了现有定义的所有数据库及其对应的子目录,并在窗口下方显示了选定的数据库中的SAS文件列表。文件列表第一列是SAS文件名称,第二列是其类型,DATA代表数据集。双击某一数据集名可以打开此数据集到一个数据显示窗口查看。
不需编程的SAS应用――SAS/INSIGHT
介绍
SAS的使用方法一般是象1.1.3那样输入一个程序,运行,修改,最后在输出窗口得到结果。随着图形界面、用户友好等程序思想的发展,SAS也逐渐提供了一些不需要学习SAS编程就能进行数据管理、分析、报表、绘图的功能,其中做得比较出色的一个是SAS/INSIGHT模块。SAS/INSIGHT是在基本的SAS系统基础上添加的一个模块,提供了数据交互输入、数据探索、分布研究、相关分析、各种图形等功能。这里我们初步介绍SAS/INSIGHT的使用。
要启动SAS/INSIGHT,选Globals | Analyze | Interactive data analysis菜单,首先出现图 3那样的选择数据集的窗口:
这是SAS/INSIGHT必须先选择一个要分析、观察的数据集。如果要生成新数据集,按New按钮,如果要打开已有数据集,按Open按钮。图 4是SAS/INSIGHT运行时的样子。
数据窗口
SAS/INSIGHT提供了一个类似于电子表格的数据窗口来管理数据集。图 5为显示了数据集SASUSER.CLASS的数据窗口:
此数据集是一个班19个学生的一些情况,包括姓名、性别、年龄、身高、体重。我们看到,数据窗口标题行显示了打开的数据集的名字,标题行下左上角有一个向右的小三角,这是数据窗口的菜单,见图 6:
三角下方的19是观测行数,右方的5 是变量个数。窗口内每行最左边的方块是观测的绘图标记,用于在图形中标记观测;然后是观测序号;再往右是各变量的值。数据窗口中的各变量用作列标题,如图 5中的
NAME、SEX、AGE 、HEIGHT、WEIGHT就是数据集SASUSER.CLASS中的五个变量的名字。在每一个变量名的上面有两个标签,右边一个代表变量的量测水平,分为区间变量(Int)和名义变量(Nom)。区间变量是取连续值的变量,只能为数值;名义变量是取离散值的变量,一般为字符型,也可以取数值。变量名上面左边的标签代表变量在分析中的缺省用途,比如NAME上面的Label表示此变量的值(学生姓名)在绘图中用来标记观测,SEX上面的Group表示此变量(性别)用来分组,等等。
数据窗口可以用来建立新数据集。在SAS/INSIGHT内用“File | New”菜单或在启动INSIGHT 的窗口(图 3)按“New”按钮,将出现一个空的数据窗口。这时,可以直接向第一行输入数据,比如要输入 1.1.3 中的C9501数据集,就可以在第一行的前四列中分别输入李明、男、92 、98,这时各列自动取变量名为A、B、C、D,而且量测水平自动定为前两个字符型是名义变量(Nom),后两个数值型是区间变量(Int)。为了修改变量名和变量的用途,从数据窗口的菜单(图 6)选Define Variables,出现图 7的定义变量窗口:
在这里可以修改变量名,给变量加标签(Label),可以选择变量的量测水平,可以规定变量的用途。变量的标签是对变量的一个可以长达40个字符的描述,可以用于以后的输出,可以用汉字。
定好变量名等属性后就可以继续输入其它数据行,每输入一行后回车,直至把全部数据输完。为了使回车时光标从前一行尾部进到下一行第一格,可以从数据窗口菜单(图 6)中选 “Data Options”,在弹出的对话框中(图 9):
选择回车的方向(Direction of Enter)为左下(Down and Left)。为了保存输入的数据集,选“File | Save | Data”菜单,出现图 8 那样的输入数据集的窗口:
可以选择数据集放在哪一个数据库,可以输入一个数据集名,把这里的A改成c9501,按OK钮就可以保存数据集。对于比较小的数据集(几个、十几个变量,几十个观测),用SAS/INSIGHT的数据窗口可以迅速而直观地输入。对于更大量的数据,一般从其它格式转换而得。
在数据窗口中如果需要修改某一个值,只要直接用鼠标点到其单元格修改,然后把输入光标离开其所在行就实现了修改。在单元格之间移动可以用鼠标单击、制表键、回车、上下光标键等方法。要保存所作的修改还需要用“File | Save | Data”菜单。
当数据窗口中变量较多时,可以用滚动条滚动窗口内容来查看。如果某个变量比较重要,可以考虑把它放到第一列的位置,这只要先单击该变量的名字选中它,然后在图 6的菜单中选Move to First。要把某列移到最后,选中它后用Move to Last菜单。
选中一列只要单击其变量名。如果要选中多个列,在选中一个后按住Ctrl键单击其它的名字可以添加选中其它变量。选中一个变量后按住Shift单击另一个变量名可以选中这两个变量及它们之间的所有变量。选中的多个列也可以用Move to First和Move to Last移动。
要选中一个观测(行),只要单击其观测号(行号)。选多个观测可以用Ctrl单击或Shift 单击的方法。选中的观测也可以用Move to First和Move to Last移动到最前或最后。
还可以选中某些列同时选中某些行。只要在后续的选中操作时用添加选中(Shift单击或Ctrl 单击)即可。用鼠标在数据窗口数值显示部分拖出一个方框也可以选定一部分数值。 选定了列或者行以后,用“Edit | Delete”菜单可以删除选定的列或行。
要取消所有选中,只要单击某一单元格而不是行、列标题即可。 下面简单介绍一下数据窗口菜单(图 6)中各命令:
? ? ? ?
Find Next 在选定了若干个观测的情况下,把下一个被选定的观测显示在窗口第一行的位置。 Move to First 把选定的行或列移到最前。 Move to Last 把选定的行或列移到最后。
Sort 在选定了一列的情况下,把数据集按此列从小到大排序;在选定了多列的情况下,按选定的变量次序按这些变量综合排序,比如在SASUSER.CLASS窗口中先选定SEX 然后用Ctrl单击附加选定HEIGHT,然后排序,这样的结果是把数据集先按女、男生排序然后在女生内部和男生内部分别按身高从小到大排序。如果没有选定任何列,则弹出一个菜单,询问按哪些变量排序,比如说对SASUSER.CLASS数据,可以先点SEX,然后单击Y按钮,把性别加入了排序变量中,再选HEIGHT,单击Y按钮,把身高作为第二排序变量,再单击排序变量中的
HEIGHT,单击Asc/Des按钮(这是要求对身高值要由高到低排序),按OK后数据将按性别分组,然后女生、男生内部分别按身高由高到低排列。
New Observations 用于快速添加若干个空数据行,弹出一个对话框要求输入添加的观测数,缺省是100个。添加的空行中字符型数据先填空值,数值型数据先填缺失值(用单独的小数点代表)。 New Variables 用于快速添加若干个新变量。
Define Variables 设定变量的名字、标签、量测水平、缺省分析用途等,见图 7。可以在生成新数据集时定义变量,也可以对已有数据集的变量属性进行修改。
Fill Values 用于自动生成一个等差数列变量。先选定一个数值型变量,然后用此命令,将弹出一个对话框要求输入起始值(Value)和增量(Increment),比如起始值填100 ,增量填50,则此变量的在各观测中的值分别填入为100,150,200,…。
Extract 这是一个很强的功能,它可以把选定的部分行、部分列或者部分行列取出到另一个窗口。比如,在SASUSER.CLASS中先选定所有女生的观测,再用添加选择(Shift 或Ctrl单击)的办法选定NAME和HEIGHT变量,然后用此命令,可以打开一个SASUSER.CLASS1 数据窗口,此数据窗口中只有姓名和身高两列和女生的观测行。可以用主菜单中的“File | Save | Data ”把此新数据集保存为WORK.CLASS1(尽量不用永久数据集存放练习用的数据集)。这样可以由已有数据集挑选部分列、部分行组成新数据集。
Data Options 本数据窗口的一些设置。弹出对话框如图 9,可以选择在数据窗口内按回车时光标是移到下面、左面还是下面最左,按TAB是光标是移到下面、右面还是右上。选中“Show Variable Labels”可以用变量的标签作为窗口的列标题,这样有利于理解变量的意义,但无法知道变量的真实名字。前面说过,变量标签允许长达40个字符,允许用汉字。标签可以在数据窗口菜单的Define Variables窗口(图 7)输入或修改。如果要用较长的汉字标签,需要适当地用空格分开标签中的汉字以利于分行显示标签。
? ? ? ?
?
?
数据探索――一维方法
SAS/INSIGHT提供了十分方便的数据探索功能。对一维数据,可以作直方图、盒形图、马赛克图,对二维数据,可以作散点图、曲线图、散点图矩阵,对三维数据可以作旋转图(三维散点图)。在图上可以选定一些观测,这些选择结果会同时反映在数据窗口和其它图中。
以SASUSER.CLASS数据集为例。选定变量HEIGHT,用“Analyze | Histogram/Bar Charts(Y) ”菜单可以打开一个图形窗口生成身高的分布 直方图,如图 10。