1 / 30
文档名称:

thelittlesasbook学习笔记(全部章节)资料.doc

格式:doc   页数:30页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

thelittlesasbook学习笔记(全部章节)资料.doc

上传人:q1188830 2016/4/12 文件大小:0 KB

下载得到文件列表

thelittlesasbook学习笔记(全部章节)资料.doc

文档介绍

文档介绍:第一章 1、每一个 SAS 语句都由一个分号结尾 2、 SAS 语句不区分大小写。一条语句可以持续到第二行(只要不把一个单词分开)。几条语句可以用一行。可以在任何一列中开始一条语句 3、 SAS 数据集也被叫做表、观测值也被叫做行、变量也被叫做列。 4、在 SAS 中只有两种数据类型——数值型和字符型。 5、字符变量的缺失值用空格表示,数值变量的缺失值用句号( .) 表示。 6、 SAS 命名规则: 名字的长度要小于等于 32 个字节。(一个字母 1 个字节,一个汉字 2 个字节) 以字母或下划线开头。可以包含字母、数字、或者是下划线,不能是%$!*&#@ 。可以是小写或大写字母,且不区分大小写。 7、程序的结束: 当程序遭遇 DATA\PROC 等标志着新程序开始的语句时, 程序结束。如果运行的是批处理,则 run 代表语句的结束。 8、数据步按照一行一行、一个观测值一个观测值的顺序执行 9、 OPTIONS 语句既不属于数据步也不属于过程步。 10 、导入数据 filename mydata ‘ E:\ ’; data uspresidents; infile mydata; input name $ party $ number; run; data uspresidents; infile 'E:\'; input name $ party $ number; run; 第二章 1、 INFILE 语句告诉 SAS 外部数据的文件名和存放路径,它在 data 语句之后,在 INPUT 语句之前。 2、 Input 语句 input 最基本用法读取空格分开的原始数据: 你必须读取所有的数据记录, 不能跳过某些值、缺失值必须用句号“.”代替。字符串数据不能包含空格、长度不能超过 8 个字符。 读取变量名中含空格的读取按固定列排列的原始数据: input 关键字后接变量名、再接变量的列位置。 . informats 读取非标准格式的原始数据$ 代表是字符串、 informats 代表形式( 比如日期的 MMDDYY )、w 是宽度、d 是小数点的位数、最后是句号“.”,缺少句号会使得 SAS 把形式(如 MMDDYY )当做变量名 :遇到空格继续读取或不继续读取定义为$length , 在该长度中, 空格也算在内。如果要使 SAS 读取过程中遇到空格则不再继续读取,则要在$length. 前面加冒号“:”。 从某个地方开始读取@’[’作为列指示器,告诉 SAS 读取[ 之后的内容。 跨行观测值的读取方式行指示器, 斜线/: 告诉 SAS 跳至原始数据的第二行; #n : 跳至第 n行,n 代表原始数据中某观测值的行数( #2 则让 SAS 跳至某观测值的第二行)。 一行读取多个观测值可以在 input 语句结尾加一个停止符号@@ 。 按条件读取部分观测值在 input 语句结尾加符号@, 这告诉 SAS 先停在( hold ) 此行, 同时用 IF 语句检测此观测值是否满足需要,如果是,那么可以再用一个 input 语句来读取现有的变量。。 、@ vs @@ @ 的作用类似于@@ , 都是行停留指示符( line-hold specifiers ), 不同地方在于停留多久, @ 能使 SAS 停留到下一个 input 语句( 也不换行), @@ 能使停留的时间到下一个 data 步(也不换行)。 3、用 infile 语句中的选项控制输入 FIRSTOBS= 选项告诉 SAS 从哪一行开始读取数据 OBS= 告诉 SAS 一直读取到哪一行位置 MISSOVER 在 input 语句中输入的几个变量, SAS 在观测值中就读取几个变量,如果一行未读完,则进入下一行直到输入的变量都读取了变量值。 missover 可以让 SAS 不进入下一行读取,未赋值的变量就使其成为缺失值。 Truncover 当每行的长度不一时,指定最长的列读取观测值, 使得当读取短行的观测值时不会跳到下一行读取; 4、用数据步读取分隔符文件 DLM= 指定空格以外的其他分隔符。如果是用制表符隔开的,那么可以使用 DLM= ’ 09 ’X 来指定。 DSD 1. 忽略引号中数据的分隔符,例如一个观测 Joseph,76,"Red Racers, Washington" 非引号中的逗号能识别成分隔符,而引号中的逗号不能识别; 2. 自动将字符串中的引号去掉; 3. 将两个相邻的分隔符当作缺失值来处理。( 并且, DSD 默认分隔符为逗号, 如果数据中的分隔符不是逗号,那么要用 DLM 来指定