资源描述
The-little-SAS-book
The Little SAS Book 学习笔记
目录
The Little SAS Book 学习笔记 1
第一章 SAS软件入门 5
1.1 SAS语言 5
1.2 SAS数据集 6
1.3 SAS程序的两个过程 7
1.4 数据步的内置循环 8
1.5 选择一个提交程序的方式 9
1.6 SAS视窗环境中的视窗和命令 10
1.7 在SAS视窗环境中提交程序 11
1.8 阅读SAS日志 13
1.9 输出窗口中浏览结果 15
1.10 创建HTML输出 17
1.11 SAS数据的逻辑库 19
1.12 用SAS资源管理器访问SAS数据集 21
1.13 使用SAS系统选项 23
第二章 将你的数据放入SAS 25
2.1 将你的数据放入SAS的方法 25
2.2 用View table窗口输入数据 25
2.3 用导入向导(Import Wizard)读取文件 27
2.4 告诉SAS你的原始数据在哪 29
2.5 list input读取空格分开的原始数据 31
2.6 column input读取按固定列排列的原始数据 32
2.7 informats读取非标准格式的原始数据 33
2.8 可选择变量形式 34
2.9 混合读取方式 36
2.10 读取凌乱的原始数据 38
2.11 跨行观测值的读取方式 39
2.12 一行有多个观测值的原始文件读取 40
2.13 读取原始数据的部分观测值 41
2.14 用infile语句中的选项控制输入 42
2.15 用数据步读取分隔符文件(delimited files) 44
2.16 用导入过程(IMPORT procedure)读取分隔符文件 45
2.17 用导入过程(IMPORT procedure)读取PC文件 46
2.18 用DDE读取PC文件 48
2.19 临时和永久数据集 49
2.20 用LIBNAME语句使用永久数据集 50
2.21 通过直接指代使用永久数据集 51
2.22 列出SAS数据集目录 52
第三章 开发你的数据 54
3.1 创建并重新定义变量 54
3.2 使用SAS函数 55
3.3 选出的SAS字符函数 56
3.4 选出的SAS数值函数 56
3.5 使用IF-THEN语句 56
3.6 用IF-THEN语句将观测值分组 57
3.7 构造子集 58
3.8 处理SAS的日期数据 59
3.9 可选择的Date Informats、Functions和Formats 60
3.11 使用retain和sum语句 61
3.12 用数组简化程序 62
3.11 列出变量名的快捷方式 63
第四章 排序、打印并描述你的数据 65
4.1 使用SAS过程步 65
4.2 用where语句在过程中构造子集 66
4.3 用proc sort为数据排序 67
4.4 用proc print打印你的数据 68
4.5 用formats改变打印外观 69
4.6 可供选择的formats 71
4.7 使用proc format创建自己的格式 72
4.8 定制一个简单的报告 74
4.9 使用proc means描述数据 75
4.10 将描述性统计写入SAS数据集中 76
4.11 用proc freq为数据计数 77
4.12 用proc tabulate产生一个表格报告 79
4.13 为proc tabulate输出增加统计量 80
4.14 提升proc tabulate的输出外观 81
4.15 改变proc tabulate输出的表头 83
4.16 为proc tabulate输出的数据方格指定多种格式 84
4.17 用proc report产生一个简单的输出 85
4.18 在proc report中使用define语句 87
4.19 用proc report创建简易报告 88
4.20 给proc report输出增加SUMMARY BREAK 90
4.21 为proc report输出增加统计量 91
第五章 用ODS增强你的输出结果 93
5.1 ODS(Output Delivery System)的概念 93
5.2 追踪选择过程的输出 94
5.3 从过程输出中创建SAS数据集 96
5.4 使用ODS语句创建HTML输出 97
5.5 使用ODS语句创建RTF输出 99
5.6 使用ODS创建printer输出 101
5.7 定制标题和注脚 102
5.8 用style=option定制proc print输出 103
5.9 用style=option定制proc report输出 105
5.10 使用style=option定制proc tabulate输出 108
5.11 为你的输出增加交通信号灯 110
5.12 选择风格属性 112
第六章 修改组合SAS数据集 114
6.1 使用SET语句修改数据集 114
6.2 使用set语句堆叠数据 115
6.3 使用SET语句插入数据集 116
6.4 一对一匹配合并数据集 118
6.5 一对多匹配合并数据 120
6.6合并统计量与原始数据 121
6.7 合并total和原始数据 122
6.8 用交易数据(transactions)更新主数据集(master) 123
6.9 使用SAS数据集选项 125
6.10 用in=option追踪并选择观测值 126
6.11 使用output语句写多维数据集 127
6.12 使用output将一个观测值变成多个观测值 129
6.13 使用proc transpose将观测值转变为变量 130
6.14 使用SAS自动变量 132
第七章 使用SAS宏功能灵活写代码 134
7.1 宏概述 134
7.2 用宏变量提交文本 134
7.3 用宏创建一个模块化的代码 135
7.4 给宏增加参数 136
7.5 使用条件逻辑写宏代码 138
7.6 用call symput编写数据驱动的程序 140
7.7 排除宏错误的bug 141
第八章 使用基本统计过程 143
8.1 用PROC UNIVARIATE检验数据分布 143
8.2 用proc means产生统计量 144
8.3 用proc freq检验分类数据 145
8.4 用proc corr检测相关性 147
8.5 使用proc reg做简单的回归分析 149
8.6 读取proc reg的输出 149
8.7 使用proc anova做单因素方差分析 151
8.8 读取proc anova的输出 152
8.9 统计分析的图形界面 153
第九章 导出数据 154
9.1 导出数据的方法 154
9.2 用导出向导写文件 154
9.3 用EXPORT Procedure写分隔的文件 157
9.4 用EXPORT Procedure写PC文件 158
9.5 用数据步写原始文件 160
9.6 用ODS写分隔和HTML文件 161
9.7 和其他类型电脑分享SAS数据集 163
163 / 163
第一章 SAS软件入门
1.1 SAS语言
许多软件要么是菜单驱动,要么是命令驱动(输入命令——看结果)。SAS两者都不是,在SAS中,你用一个叫做SAS程序的一系列指令语句,这些程序可以表达出你想做的事情,并用SAS语言写下来。SAS有菜单驱动栏,比如SAS企业向导模块,它使SAS看起来像一个点击的软件,但这些模块仍然使用SAS语言为你写程序。如果你试图用SAS写下你自己的程序,那就要具备一定的灵活性。
SAS 程序 一个SAS程序就是一个按顺序执行的语句序列,一个语句给SAS下达信息和指令,且必须要正确的安放。一个常用来与SAS程序做类比的例子是去银行取款,你进入银行、排队、轮到你,那么你会对柜台谁你想做的事,叙述语句可能会是这样:
I would like to make a withdrawal.
My account number is 0937.
I would like$200.
Give me five 20s and two 50s.
注意第一句话说了你想做的事情,之后把相关信息传递给柜台并帮你完成要求。这里信息传递的顺序不重要,重要的是在你的叙述中,首先要说明你要做什么。你不能先说:“Give me five 20s and two 50s.”这会使柜台小姐一头雾水。此外,你必须确保后面的语句都围绕第一句展开。
SAS语句 像任何语言一样,SAS语句的编写也需要遵守一些语法规则。幸运的是,相比英语来说,SAS语句的规则不仅少,而且简单。
最重要的规则是:
每一个SAS语句都由一个分号结尾
听起来很简单,但即使最富有经验的SAS程序员也会偶然忘记分号。如果你能记住这个规则,再来看看另外两个规则吧。
SAS程序布局 让每一条语句看起来整洁、用缩进来表现语句的各个部分,这是很有用的,但不是必须的:
l SAS语句不区分大小写。
l 一条语句可以持续到第二行(只要不把一个单词分开)。
l 几条语句可以用一行。
l 可以在任何一列中开始一条语句
注释 可以在你的程序中插入一些注释,让它更容易明白。即使你插入一些你喜欢的食物品名也不会对程序有所影响,因为SAS不会读取注释。但不要忘记注释是为了让某人更轻松地学习你的程序,并明白你为什么这么做。
*Read animals’ weights from file;
DATA animals;
INFILE ’c:\MyRawData\Zoo.dat’;
INPUT Lions Tigers;
PROC PRINT DATA=animals; /*Print the results*/
RUN;
有两种注释方法,一种是‘*’和‘;’一起使用;一种是用/* */表示,由于某些操作环境解释第一列中的斜线星号(/ *)作为工作结束的标志,使用这种风格的注释时要小心不要把它放在第一列。出于这个原因,我们选择了星号分号的风格为这本书的注释。
错误 SAS程序通常将执行的错误标注为醒目的红色字母,你可能忘了分号,拼错了字母,按错了键盘,一个小错误会使得整个程序无法运行。当你看到红色部分多余黑色部分的时候,不要灰心。
1.2 SAS数据集
在你进行分析、撰写报告,对你的数据进行任何处理之前,SAS必须能够处理你的数据,你的数据必须是一种叫SAS数据集的特殊形式。因为SAS非常灵活,能够读取任何形式的数据,所以将你的数据变成SAS数据集是一件非常简单的事。
变量和观测值 在传统的SAS术语中,数据包括变量和观测值。采用相关的数据库的术语,SAS数据集也被叫做表、观测值也被叫做行、变量也被叫做列,你可以看到下面这个包含一些数据的表。
数据类型 未加工的数据有多种形式,但SAS将其简单化。在SAS中只有两种数据类型——数值型和字符型。数值型完全是数据,可以被加减乘除、可以是正负且是小数。字符变量是除数值之外的类型,可以是数值、字母、和一些特殊的字符(¥、!),最多可以占用32767个字节长度。
如果一个变量既包括数字又包括字符,那么它一定是字符变量。如果只包括数字,可能是字符变量也可能是数值变量。在上面这个表中,姓名是字符变量,身高和体重是数值变量,ID,既可能是数值有可能是字符,依据你的选择。
缺失值 数据有时会有些不完美,某些变量的个别观测值会缺失。字符变量的缺失值用空格表示,数值变量的缺失值用句号(.)表示。上表中,体重的第五个观测值缺失,用.表示。姓名的第六个观测值缺失,用空格表示。
SAS数据集的大小 在SAS 9.1之前(prior to SAS 9.1),SAS数据集可以包含32767个变量,从SAS 9.1开始(beginning with SAS 9.1),SAS可包含的最多变量数由你的电脑可用资源决定(内存,CUP?)。但是超过32767个变量的SAS数据集不能用在早期的SAS版本上。
SAS命名规则 为你的变量和数据集命名,使它们容易被辨别。A,B,C这样的名字可能看起来很完美,写程序的时候也很方便,但当你6个月后再使用这些数据时,你会发现name,height,weight这样的名字更有用。为变量和数据集命名时要遵守如下规则:
l 名字的长度要小于等于32个字节。(一个字母1个字节,一个汉字2个字节)
l 以字母或下划线开头。
l 可以包含字母、数字、或者是下划线,不能是%$!*&#@。
l 可以是小写或大写字母,且不区分大小写。
SAS数据集储存的文件 SAS数据集包含了一些类似名称、创建日期、创建用的SAS版本等信息。SAS也储存了每个变量的信息,包括名称、类型、长度、数据集中的位置。这些信息叫做数据集的描述部分,它使得数据集可以自我编制(self-documenting)。
1.3 SAS程序的两个过程
SAS程序有两个基本模块:数据步和过程步。一个典型的SAS程序,由数据步创建SAS数据集开始,再由过程步分析数据。这里有一个例子:数据步中将米转化成千米,过程步中输出结果
数据步和过程步由语句组成(废话),一个过程少至1条语句、多至几百条。新手常犯的错误是将两种过程语句用混,只要记住数据步负责读取、修改数据,过程步负责分析数据、输出报告和效用函数,就不会犯错。
数据步由DATA语句开始:data+数据名。上例中数据步处理了名为distance的数据。为了读取外部数据、未加工的数据,数据步提供了DO LOOPS,IF-THEN/ELSE,以及一些数值和字符函数。数据步也可以按照你想要的方式合并数据集,包括联接(concatenation)和合并(match-merge)。
过程步由proc语句开始:proc+过程名(print、sort、means…),SAS过程步可以处理从数据储存、输出到方差分析、3D图表的一切操作。
当程序遭遇DATA\PROC等标志着新程序开始的语句时,程序结束。如果运行的是批处理,则run代表语句的结束。Run告诉SAS去执行所有之前的程序行,全局变量不是DATA或PROC过程的部分。上图的那个程序,当proc出现时,代表data过程结束。
典型的程序是以DATA语句开头,输入或修改数据,然后将数据传递给PROC语句。但并不一定非要用这种模式来混合data和proc语句,你可以用任何顺序来排列data和proc两者的顺序,一个程序甚至可以仅有data语句或proc语句。
下表是data语句和proc语句的一些基本不同点:
这只是一个简化表,SAS软件非常灵活,所以data语句和proc语句之间真正的区别也是很模糊的。记住,这个表并不是说proc语句永远不能创建SAS数据集,或者DATA语句永远不能够分析生成报告。
1.4 数据步的内置循环
Data步读取并修改数据,让你以灵活的方式控制处理数据。Data步也有一个潜在的、内置的循环语句。你不用告诉SAS去执行这个循环,SAS会自动执行。
数据步按照一行一行、一个观测值一个观测值的顺序执行
这句话的表意并不明确,许多新手直到成了老手都没明白这句话的含义。
数据步“一行一行的执行”,这句话很好理解。但很多新手还是容易在这里出错,例如在没有创建一个变量之前就使用它,如果Z变量是X、Y两个变量组合的新变量,那么必须确定创建Z变量的语句在创建X、Y变量语句之后。
而“一个观测值一个观测值的执行”就不是那么容易理解。这意味着SAS先读取一个观测值,然后对这个观测值进行数据步的所有语句(当然也是一行一行的),然后再读取第二个观测值执行。每次执行SAS只有一个观测值。
我们将SAS执行的图景放慢:SAS从你的数据集中读取一个观测值。SAS对你的这个观测值执行数据步,如果数据步一直运行到结束而没有错误,SAS会把当前的观测值写入一个新的、输出数据集中,并返回到数据步开头,读取第二个观测值进行执行。当最后一个观测值都被写入输出数据集中之后,SAS结束数据步,进入下一个步。
有一个类比,数据步就像是一个投票程序。当你来到投票的地点,你会站在别人后面进行排队,排到你时,你会被问到:你叫什么名字,住在哪里。当你回答之后,你可以投票。在这里,排队的人就像是观测值,投票的程序就像是数据步。一次只能让一个人投票,每个人都相互独立。并且投票的程序是一步一步来的,你不能没说明自己的姓名和住址之前就投票。
1.5 选择一个提交程序的方式
目前为止我们讨论了写SAS程序,但仅仅写不能带给你任何结果,你必须要提交并执行。有数种方法可以执行SAS程序,但不是任何方法都适合于你的操作环境。查找一下SAS帮助文档,或者咨询下你的SAS顾问,看看哪种方法适合你的操作环境。
SAS视窗环境 如果你使用SAS是按照系统提示,或者是点击SAS的图标,那么你适合使用SAS视窗环境。在这种交互式的环境中,你可以写入、编辑SAS程序,提交处理、浏览、输出结果的SAS程序。此外,视窗有许多功能可以处理不同的任务,如管理SAS文件、定制界面、访问SAS帮助文档、导入和导出数据。你的视窗环境的界面取决于你电脑的的类型、使用的终端、电脑操作系统和启动SAS时实际的选择。如果你使用的是个人电脑,那么SAS视窗环境的感觉和其他软件类似。
SAS企业向导 如果你有SAS企业向导软件,这个软件在windows下即可运行。你可以用这个软件提交程序:使用插入菜单打开代码窗口,输入序或打开现有SAS程。之后你可以用本地电脑、或者在远程服务器上(需要安装)运行SAS程序。
非交互式模式 非交互式模式是SAS程序语句已先存于你系统的文件中,直接执行那个文件。非交互式模式可以让SAS立即执行程序,通过某个指令开始($),后接文件名,如:
$ SAS My
批处理或后台模式 在批处理或后台模式下,你的程序存于一个文件中,SAS会自动执行,你不需要在电脑旁,如果程序多,SAS会将这个程序进行排队等待。这种模式通常用在大型电脑中,因此通常可以一次性处理多个任务。批处理或后台模式的成本比较低,适合于大型工作,工作完成后,结果会存于文件夹中,你可以任何时候输出查看。批处理未必适合你的操作环境,另外提交方式也会有不同,最好查看SAS帮助文档,或咨询SAS顾问。
远程提交 如果你安装了CONNECT模块,可以进行远程提交,即在一台电脑上(本地)编写程序,在另一台电脑上(远程)处理,结果会返回本地电脑。当你处理大型任务,而你的电脑性能又不够时,可以连接到远程的高性能电脑上,也可访问远程电脑的分享文件。
交互行模式 交互行模式下,SAS每次提示用户输入一个语句,想改正输入的语句不是那么容易的。因此除非你足够优秀和熟练,否则最好不要用这个模式。你可以用endsas并回车来退出这个模式:
Endsas;
如果你想知道为什么会进入这个模式,并且在以后避免进入,你需要咨询SAS顾问。
1.6 SAS视窗环境中的视窗和命令
SAS视窗 SAS有五种基本的视窗(窗口):结果视窗、资源管理器视窗、和三种程序视窗:程序编辑、日志、输出。除此之外,在获得SAS帮助、改变SAS系统选项、定制SAS人机会话等情况时,可能还会用到其他的视窗,下图显示了Microsoft Windows SAS会话中默认的视图:
编辑窗口 编辑窗口中你可以输入、编辑、提交SAS程序。Windows操作环境默认的是增强型编辑窗口,它对语法更敏感,并用颜色标注程序,使得更容易理解和发现错误。其他操作环境默认的是程序编辑窗口,并随操作环境和SAS版本的不同,界面特征也不同。
日志窗口 日志窗口是关于SAS会话的说明。在提交SAS程序之后,任何的说明、错误、警告和程序语句都会显示在日志窗口上。
输出窗口 如果程序产生需输出的结果,那么会反映在在输出窗口中。
结果窗口 结果窗口就像输出窗口的一个目录表,以提纲形式列出了输出的每一个部分。
SAS命令SAS命令是为了不同的任务,你有三种方式发出命令:菜单、工具栏、SAS命令栏,如下图:
菜单 (大部分操作环境都会有一个下拉菜单要么在窗口上方要么在屏幕上方…..oh my god!略)
工具栏(不是所有的操作环境都有工具栏…略!)
SAS命令栏 可以在这里输入SAS命令,一些操作环境中,命令栏坐落在工具栏中,另一些操作环境中,每个SAS窗口都有一个命令行(command line),通过语句command=>激活。大部分命令是可以直接用菜单进行选择的。
控制你的视窗 你可以通过菜单、命令栏、点击的方式激活任何一种程序窗口。
1.7 在SAS视窗环境中提交程序
将你的程序放入编辑窗口中 你可以通过输入,或者打开现有程序文件的方式将程序放入编辑窗口中。打开现有的程序文件,可以通过菜单-打开,也可以通过工具栏的图表,或者直接将文件拖放到编辑窗口中。
提交你的程序 你有几种方式来提交程序:
使用工具栏的提交图表
激活命令栏,输入submit命令回车。
从run运行的下拉菜单中选择submit提交
左图显示了如何在windows视窗中提交增强型编辑窗口的程序。
访问SAS日志和输出 提交程序后,日志窗口和输出窗口会有相应的日志和结果显示,如果你使用的是增强型编辑窗口,之前的程序会保留,如果使用的是程序编辑窗口,之前的程序不会保留。如果你的程序产生了输出,那么结果窗口会显示这些输出的目录,下图是一个例子,显示了提交程序之后,增强型编辑窗口、日志窗口、结果窗口、输出窗口的样式。
取回你的程序 如果不幸你的程序出现了问题,你需要再次运行,对于程序编辑窗口,由于之前的程序不在保留,因此需要调回命令(recall),有两种方法:
命令窗口中输入recall
激活编辑窗口,从运行(run)下拉菜单中选择
如果不停的使用recall命令,SAS可以一直往前调回程序,知道所有提交的程序都被调回。
1.8 阅读SAS日志
在哪找到SAS日志 SAS日志窗口的位置随着你使用的操作环境、选择的模式(视窗、非交互、批处理)、个人的设置的不同而不同。在视窗模式下,提交程序之后,日志窗口默认的位置如下图:
对于批处理和非交互模式的日志则会被写入一个文件中,你需要使用操作环境的命令来查看,一般日志文件的名字与对应的SAS程序名一直,如你的SAS程序命为abc.sas,那么日志文件的命则为abc.log
日志包含的内容 日志中虽然有很多琐碎,但也包含了重要的信息。这里有一个将英里转换为千米的程序:
*Create a SAS data set named distance;
*Convert miles to kilometers;
DATA distance;
Miles=26.22;
Kilometers=1.61*Miles;
*Print the results;
PROC PRINT DATA=distance;
RUN;
运行之后,SAS的日志窗口会产生一个类似这样的日志:
① 说明了你使用的SAS版本和site。
② 是原始的SAS程序语句
③ 说明了数据步为你创建的数据集名称,观测值数和变量数。它可以帮助你确认你的程序没有丢失观测值,也没有创建你不需要的变量。
④ 这部分显示了数据步和过程步占用的电脑资源。当你使用的是多用户系统,或者处理大型数据而使得SAS运行占用大量时间时,这部分信息可以帮助你检查哪一步比较耗时。
如果SAS程序出现错误,错误信息也会反馈在日志窗口中,说明哪里出错及出错表现。
1.9 输出窗口中浏览结果
你使用的模式不同,产看输出结果的方法也会不同。如果是在视窗模式下提交SAS程序,那么直接在输出窗口查看,如果是批处理和非交互模式下,那么结果就会保存在一个文件里,需要用命令查看。比如使用UNIX系统下的非交互模式,结果会存在一个后缀为.lst的文件里,使用cat或其他更多命令来查看。
输出窗口 提交程序后,结果会出现在输出窗口中,下图是一个输出窗口的例子
打印或保存输出窗口的目录 激活输出窗口的目录,在菜单栏文件(file)下拉菜单中选择打印(print)或保存(save)即可。
结果窗口 结果窗口起到输出窗口的目录作用,当你的输出结果非常多时,结果窗口很有用。它可以让你很清楚的看到输出结果的每一部分。下图是一个方差分析(ANOVA)过程的结果。在这个图中,左边是输出结果的目录,点击+号将其展开,可以看见ANOVA结果的各个部分,双击某一部分,则该部分结果就会位于输出窗口顶部。
打印或保存部分输出 如果要打印结果窗口中显示的某一部分的输出,则需将鼠标移到该部分上,右击,选择打印或保存即可。或者点击一下,使其黑亮,再从菜单栏文件(file)的下拉菜单中选择输出或保存。
1.10 创建HTML输出
如果使用的是SAS视窗环境,那么可以为结果创建超文本标记语言(HTML)格式。
参数选择窗口 选择菜单栏中工具(tools)下拉菜单的选项(options)-参数选择(preferences)。选择结果(result)选项卡,如下图所示:
这个参数选择窗口上,有一个“创建列表(create listing)”选项,默认的输出就是列表输出。下面还有“创建HTML”选项,用来创建HTML。样式(style)选项用来为HTML选择一个风格样式。选择之后,点击OK。
结果浏览窗口和结果窗口 (注意下面提到的三种窗口:结果浏览窗口result viewer,结果窗口results window,输出窗口output window)
一旦选择了HTML输出,每次运行程序的时候都会自动出现一个结果浏览窗口(result viewer),下图显示了在运行了一个均值和输出的程序后,出现两个窗口:结果浏览窗口——显示HTML输出,结果窗口——显示输出的目录。
结果浏览窗口一次只显示输出结果的一个部分,通过选择结果窗口的目录,可以查看其他的部分。值得注意的是,结果窗口给出的目录中,每一个部分都给出了两种相同的目录,一个是链接到输出窗口,一个是链接到结果浏览窗口
保存结果浏览窗口的输出(output of result viewer)的方法:激活结果浏览窗口,选择菜单栏文件(file)下拉菜单的保存(save as)、输出(print)。
可以在style中为输出选择不同的风格,如下图就是D3D的风格:
1.11 SAS数据的逻辑库
SAS逻辑库库只是数据集文件存放的地点。打开SAS视窗模式后,会看到SAS资源管理器窗口(explore),双击逻辑库图标,资源管理器窗口会显示出所有已定义的图标。要返回前一级窗口,选择查看(view)-向上一级(up one level),或者在工具栏中直接点击向上一级图标。
逻辑库窗口 打开逻辑库窗口后,除了自己创建的库外,至少会呈现三个逻辑库:sashelp,sasuser,和work,如果安装了某些SAS模块,还有一些特别的逻辑库,比如SAS/GRAPH模块的Maps逻辑库。Sashelp包含了控制SAS会话以及样本数据集的一些信息。WORK是sas数据集的临时储存地点,创建的数据集如果没有指定库,则默认储存在这里,关闭程序时则自动删除数据集。也可以更改默认的库,从而不是临时库。
创建新逻辑库 创建新逻辑库有两种方法:在逻辑库窗口中选择文件(file)下拉菜单的新建(new);或者直接右键——新建。
在新建逻辑库(new library)窗口中,为你的逻辑库起一个名字,这里叫做Mylib,指定库的存放路径。如果不想每次启动SAS都要调用这个库,则勾选启动时启用(enable at startup)即可。
这是一个新建的Mylib逻辑库的视图。
1.12 用SAS资源管理器访问SAS数据集
可以利用SAS资源管理器打开数据集、浏览、编辑,也可以列出数据集的信息,如创建时间和变量名。
目录窗口 打开一个逻辑库,进入一个目录窗口,显示这个库中所有的文件和文件夹。右图的目录窗口中显示Mylib逻辑库有三个文件:Customers,Models,orders。双击某文件,则可以打开这个文件的可视视图。
可视视图 这个窗口允许你创建、浏览、编辑数据集。
列出SAS数据集的属性 用资源管理器还可以列出SAS数据集的一些属性情况,右击某文件,选择下拉菜单的属性(properties),属性窗口显示了SAS数据集的属性信息,如创建时间、行列数等。
如果选择列(columns)选项卡,则出现数据的列信息
1.13 使用SAS系统选项
SAS系统选项是影响SAS运行的一些参数,比如输出的显示、内存的占用、错误的处理等问题。这些小问题由SAS为你设定好,你也可以改变它。
SAS系统选项的参数不是所有都适合你的操作环境,适合于你的再SAS的帮助文档中给出。可以通过打开SAS系统选项窗口或使用option程序来查看你的SAS系统参数。Option程序的语句如下:
Proc options;
Run;
有四种方法可以指定系统选项的参数,SAS帮助文档会告诉你哪种适合你的操作系统:
1. 系统管理员会创建一个包含了系统选项设定的配置文件,每次SAS启动时都会访问这个文件。
2. 在启动SAS之后,根据系统提示指定系统选项。
3. 如果使用SAS视窗环境,可以从SAS系统选项中改变已选择的选项。
4. 使用OPTIONS语句。
这四种方法按照优先性排列,方法2优先于方法1,方法3优先于方法2,方法4优先于3。如果使用SAS视窗环境,方法3,4最好。
OPTIONS语句 OPTIONS语句是SAS程序的一部分,并可影响之后的所有语句。由OPTIONS关键词开头,后面是相关选项。比如:
OPTIONS LINESIZE=80 NODATE;
OPTIONS语句既不属于数据步也不属于过程步,这个全局变量可以出现在程序的任何部分,但放在开头最有意义,你可以很容易看到哪些选项在发挥作用。如果OPTIONS语句只出现在数据步或者过程步中,那么它会影响那个过程,和下面的过程(If the OPTIONS statement is in a DATA or PROC step,then it affects that stepand the following steps.)。注意,后面的OPTIONS语句会覆盖前面的,即以后面的OPTIONS为主。
SAS系统选项窗口 通过这个窗口也可以改变系统选项。可以通过在命令栏中输入“OPTIONS”,或从工具(tools)下拉菜单中选择.
窗口出来后,找到要修改的部分,右击——修改值(modify the value)即可。
一般选项 下面是一些可能用到的一般系统选项
CENTER|NOCENTER
输出是否居中,还是左对齐。默认居中
DATE|NODATE
今天的日期是否出现在输出的顶部。默认输出
LINESEZE=n
控制输出行的最大长度,n可能的值为64到256
NUMBER|NONUMBER
输出的页面页码是否需要。默认需要。
ORIENTATION=PORTRAIT;
ORIENTATION=LANDSCAPE;
指定打印输出的方向。默认竖向(portrait)
PAGENO=n
输出页开始的页面。默认为1
PAGESIZE=n
每个页面输出的最大行数。可能的值为15到32767
RIGHTMARGIN=n
LEFTMARGIN=n
TOPMARGIN=n
BOTTOMMARGIN=n
指定打印输出的边缘大小。默认0.00英寸(Specifies size of margin(such as 0.75in or 2cm)to be used for printing output.Default:0.00in.)
YEARCUTOFF=yyyy
设定起始年份
第二章 将你的数据放入SAS
2.1 将你的数据放入SAS的方法
你可能有各种形式的数据,包括手写在纸上、存放在电脑上、或是在数据库管理系统里,不论如何,总有一种方法可以让SAS来读取。
SAS读取的数据的方法主要有以下几种类型:
l 直接输入;
l 从原始数据文件中创建一个SAS数据集(creating SAS data sets from raw data files);
l 将其他软件中的数据文件转换成SAS数据集;
l 直接读取其他软件的数据集;
直接输入
l View table窗口可以让你以表格形式输入数据,可以定义变量、设置属性,如name、length和 type(character or numeric).
l SAS 企业向导模块,a Windows only application, has a data entry window that is very similar to the View table window. As with View table, you can define variables and give them att
展开阅读全文