The Little SAS Book 阅读笔记:
第一章 SAS软件入门
1.1 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程序布局 让每一条语句看起来整洁、用缩进来表现语句的各个部分,这是很有用的,但不是必须的:
SAS语句不区分大小写。
一条语句可以持续到第二行(只要不把一个单词分开)。
几条语句可以用一行。
可以在任何一列中开始一条语句
注释 可以在你的程序中插入一些注释,让它更容易明白。即使你插入一些你喜欢的食物品名也不会对程序有所影响,因为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 这样的名字更有用。为变量和数据集命名时要遵守如下规则:
名字的长度要小于等于 32 个字节。
以字母或下划线开头。
可以包含字母、数字、或者是下划线,不能是%$!*&#@。
可以是小写或大写字母,且不区分大小写。
SAS 数据集储存的文件 SAS 数据集包含了一些类似名称、创建日期、创建用的SAS 版本等信息。SAS 也储存了每个变量的信息,包括名称、类型、长度、数据集中的位置。这些信息叫做数据集的描述部分,它使得数据集可以自我编制(self-documenting)。