Presentation is loading. Please wait.

Presentation is loading. Please wait.

北京大学 SAS 俱乐部 Peking University SAS Club SAS 软件会员培训 2006 年 10 月.

Similar presentations


Presentation on theme: "北京大学 SAS 俱乐部 Peking University SAS Club SAS 软件会员培训 2006 年 10 月."— Presentation transcript:

1 北京大学 SAS 俱乐部 Peking University SAS Club SAS 软件会员培训 2006 年 10 月

2 整体计划 一、 SAS 与数据分析基本概念 二、 SAS 编程语言入门 三、 SAS 数据整理 四、 SAS 统计分析 五、专题与项目实践

3 二、 SAS 编程语言 入门

4 Peking University SAS Club Page4 SAS 编程语言入门上次内容回顾1 SAS 语句基本概念 2 常用的 SAS 语句 4 实例与练习6 SAS 表达式 3 SAS 函数 5

5 Peking University SAS Club Page5 1. 上次内容回顾 To teach is equal to learn twice !

6 Peking University SAS Club Page6 1. 上次内容回顾上次课程的学习目标: 1. 从整体上理解数据分析的基本流程 2. 熟悉 SAS 的基本界面 3. 对 DATA 步建立概念,可以写简单的 DATA 步 4. 学会 4 个 PROC 步: MEANS , GCHART , GPLOT , REG 5. 能够模仿例子做一个简单的数据分析项目

7 Peking University SAS Club Page7 2. SAS 系统对数据的管理 SAS 系统对数据的管理 SAS 数据集 ( 数据文件) SAS 数据集 ( 数据文件) SAS 数据库(存数据集) SAS 数据库(存数据集) 文件夹(与数据库相对应) 文件夹(与数据库相对应)

8 Peking University SAS Club Page8 A. 建立库 使用 Libname 命令可以指定库标记。它的一般格式 如下: Libname 库标记 ’ 文件夹位置 ’ 选项 ; 如: libname a ’c:\user’; 如: libname a ’c:\user’; 临时库 1个 名为 WORK 临时库 1个 名为 WORK 永久库 多个 永久库 多个 SAS 数据集则对应文件,文件名为数据集名,而扩展 名为.sd2 的文件。

9 Peking University SAS Club Page9 B. 导入数据 CARDS 语句( datalines ) CARDS 语句 用于直接输入数据,标志着数据块的 开始。格式如下: CARDS 语句 用于直接输入数据,标志着数据块的 开始。格式如下: CARDS; CARDS; 数据块 ;

10 Peking University SAS Club Page10 B. 导入数据 data scores; data scores; input test1 test2 test3; input test1 test2 test3; datalines; datalines; 91 87 95 91 87 95 97 92 98 97 92 98 ;

11 Peking University SAS Club Page11 B. 导入数据 data scores; infile datalines delimiter=','; input test1 test2 test3; datalines;91,87,9597,92,98;

12 Peking University SAS Club Page12 B. 导入数据 INPUT 语句 用于向系统表明如何读入每一条记录。它的主 要功能有: 读入由语句指定的数据列。为相应的数据域定义变量名。确定变量的读入模式。 INPUT 语句的格式如下: INPUT 变量名 [ 变量类型 起止列数 ]...; 方括号表示其中的内容为可选,如果不输入,系统会以默认 值代替。

13 Peking University SAS Club Page13 B. 导入数据 data scores; infile datalines dsd; infile datalines dsd; input Name: $9. Score1-Score3 Team: $25. Div $; input Name: $9. Score1-Score3 Team: $25. Div $; datalines; datalines; Smith,12,22,46,"Green Hornets, Atlanta",AAA Mitchel,23,19,25,"High Volts, Portland",AAA Jones,09,17,54,"Vulcans, Las Vegas",AA ;run;

14 Peking University SAS Club Page14 B. 导入数据 data funnies; input id name $ height weight Dob mmddyy8.; label id = 'identification no.' height = 'Height in inches' height = 'Height in inches' Weight = 'Weight in pounds' Weight = 'Weight in pounds' Dob = 'Date of birth' ; Dob = 'Date of birth' ; informat Dob mmddyy8.; format Dob worddate18.; datalines; 53 susie 42 41 07-11-81 54 charlie 46 55 10-26-54 55 calvin 40 35 01-10-81 56 lucy 46 52 01-13-55 ; Proc contents data= funnies; run;

15 Peking University SAS Club Page15 B. 导入数据 INFILE 语句 INFILE 语句 用于从外部文件读入数据,必须出现 在 INPUT 语句之前。 它的主要功能是: 确定一个包含原始数据的外部文本文件。 INFILE 语句的格式如下: INFILE ’ 外部文件的所在位置及名称 ’ 选项 ;

16 Peking University SAS Club Page16 B. 导入数据 filename mydata ‘E:\ 博士研究生阶段 \ 课程学习 \SAS\SAS 学习 \sas club\ 课件 \SAS_Club_2\president.txt’; data uspresidents; infile mydata; infile mydata; input name $ party $ number; run; data uspresidents; infile 'E:\ 博士研究生阶段 \ 课程学习 \SAS\SAS 学习 \sas club\ 课 件 \SAS_Club_2\president.txt'; input name $ party $ number; run;

17 Peking University SAS Club Page17 B. 导入数据读入其他格式的数据文件 SAS 可以利用 FILE 菜单上的 import 命令将其他格 式的数据文件导入 SAS 系统,创建 SAS 自己的数 据集。 可以导入的数据文件格式有: dBase 数据库, EXCEL 工作表, LOTUS 的数据 库,纯文本的数据文件等 dBase 数据库, EXCEL 工作表, LOTUS 的数据 库,纯文本的数据文件等

18 Peking University SAS Club Page18 3. SAS 语句的基本概念 A.SAS 语句的定义 B. 几个概念 C. 语句格式

19 Peking University SAS Club Page19 A. SAS 语句的定义 校医院有一批新生体检数据,包括受检 者的姓名、性别、身高、体重信息。 要求: 1 。算出身高、体重的均值、标准差、 最大值、最小值。 2 。分别画出身高、体重的分布直方图 3 。画出身高 VS 体重的散点图 4 。研究身高和体重的相关关系 回到上次的例子

20 Peking University SAS Club Page20 A. SAS 语句的定义 在这个例子中,我们看到: 关键词 DATA, INPUT, CARDS, PROC, VAR, Vbar Plot RUN 是关键词; 数据集名 healthcheck 是数据集名; 变量名 studentID , Sex , Height , Weight 是变量名; 过程名 MEANS , gchart , gplot 是过程名; 选项 Data= 是 MEANS 语句中的选项。

21 Peking University SAS Club Page21 A. SAS 语句的定义 SAS 语句的定义: 分号 SAS 语句是由关键词、 SAS 名、特殊字符或运算符组成并 以分号结尾的字符串。

22 Peking University SAS Club Page22 B. 相关的几个概念 1 。 SAS 关键词 2 。 SAS 名 3 。特殊字符和运算符

23 Peking University SAS Club Page23 B. 相关的几个概念 1. SAS 关键词 位于句首的用以说明语句类型和功能的单词称为 SAS 语句的关键词。它是 SAS 语句的主要成份。 如: PROC 、 DATA 、 VAR 、 RUN 等。 2.SAS 名 SAS 语句中出现的 SAS 名有很多种类,如变量名 、 SAS 数据集名等。

24 Peking University SAS Club Page24 B. 相关的几个概念 SAS 命名规则 1 )由 1 至 8 个字符组成; 2 )由三种字符构成: 英文字母 A-Z, a-z ,下划线 _ ,数字 0-9 ; 3 )每个名字的第一个字符不能为数字; 4 ) SAS 系统保留了一些名字作为特殊的变量名,这些 变量名的开头和结尾都用特殊字符下划线表示 ( 如 _N_ 、 _ERROR_ 等 ) 。

25 Peking University SAS Club Page25 B. 相关的几个概念 3. 特殊字符和运算符 特殊字符包括: 圆括号 ( ) 、单引号 ‘ ‘ 、双引号 “ “ 、美圆符号 $ 、 列指针控制符 @ 、行指针控制符 # 、冒号 : 、句号. 、分号 ; 等 运算符包括: 不等号 ^= 、 加号 + 、减号 - 、乘号 * 、除号 / 、乘方 ** 等,等号 = 、不等号 ^= 、小于号 、小于等于 号 = 等。

26 Peking University SAS Club Page26 C. SAS 语句格式 SAS 语句的基本格式 KEYWORD Parmeter…[item | item | item ] options; 关键词 参数 选项 1 选项 2 选项 3 选择值 关键词:用以说明语句类型和功能的单词; 参数:要求用户提供的信息。不用括号,不是任选项。

27 Peking University SAS Club Page27 C. SAS 语句格式 SAS 语句的基本格式 KEYWORD Parmeter…[item | item | item ] options; 例如: INPUT StudentID$ Sex$ Height Weight; 其中: INPUT 是关键词,它说明要把数据提供给哪些变量。后 面跟的变量名 x 、 y 、 z 都是参数,即要求用户提供的信息。 … 表示参数可以不止一个。 [ 选项 1 | 选项 2 | 选项 3 ] 中的竖线 “|” 用来分隔各选择项,表示 其中任选一个;方括号内的信息是可以选择的。

28 Peking University SAS Club Page28 C. SAS 语句格式 SAS 语句的基本格式 KEYWORD Parmeter…[item | item | item ] options; 例如: PROC MEANS data=healthcheck maxdec=3; 其中: PROC 是语句的关键词,它说明本语句是过程语句; MEANS 是过程名,它说明要调用的过程名 称; data= 、 healthcheck= 都是选项的关键词,等号后面是用 户提供的选择信息。

29 Peking University SAS Club Page29 4. SAS 表达式 A. 定义 B.SAS 常数 C.SAS 变量 D. 运算符

30 Peking University SAS Club Page30 A. 定义 要灵活的完成日常的数据管理和统计分析工作,还 得很好掌握 SAS 表达式。 SAS 表达式是由一系列算符和运算对象形成的一个 指令集,它被执行后产生一个目标值。 运算对象是 SAS 变量和 SAS 常数 算符是特殊的运算符、函数和括号。

31 Peking University SAS Club Page31 A. 定义 表达式分为简单表达式和复合表达式。 下列式子都是表达式。 X+1 3 LOG(X) LOG10(X) P/A*100 AGE<100 1-EXP(N/(N-1)) A=B=C STATE=‘CA’ 在 DATA 步中,为了对变量进行变换,建立新变量、 条件处理、计算新值及指定新值,都需要使用 SAS 表 达式

32 Peking University SAS Club Page32 B. SAS 常数 SAS 常数用来表示固定的值,它或者是一个数字,或 者是用引号引起来的字符串、或者是其它特殊记号。 SAS 使用的常数有五种类型: 数值常量、字符常量、日期、时间和日期时间常量、 十六进制数值常量、十六进制字符常量。 数值常量: 12 ,- 7.5 , 2.5E-10 字符常量 : ’Beijing’ , ”Peking University” 日期型 :’29OCT2006’d 时间型 :’14:20’t 日期时间型 : ’29OCT2006:14:20’dt

33 Peking University SAS Club Page33 B. SAS 常数 数值型常量: 一个数值常量就是出现在 SAS 语句里的数字。很多 数值常量完全像通常的数据值一样书写。数值常量可 以包括小数点,负号和 E 记号。 例如: 1 -5 1.23 1.2E23 0.1 0.5E-10 。 用 E 表示法时,如 2E4 ,它表示,或者 20000 。 SAS 系统中,缺失值用小数点来 (.) 表示。

34 Peking University SAS Club Page34 B. SAS 常数 字符型常量: 字符常量是由(单)引号括起来的 1~200 个字符组 成的字符串 例如, 在下面的语句中: IF name= ’ TOM’ THEN DO; ’ TOM’ 就是一个字符常量。如果字符常量含有引号,则用两个连续的单引号来处理。 例如,字符值为 TOM’S 时,输入: name=’TOM’’S’ ( ’’ 代表 ’ ,表示某人的 ) 缺失的字符常量值为空字符,表示为 ’’ (两个连续的单引号)

35 Peking University SAS Club Page35 C. SAS 变量 描述给定特征的数值集合的指标称为变量。 SAS 变量的特征 变量名、类型、存储长度、标签、输入格 式、输出格式 存储长度 存储长度指变量在存储时所需要的字节数 。默认情况下所有的变量都定义为 8 字节 。字符变量的长度可为 1-200 字节,数值 变量的长度可为 3-8 字节。 标签 标签是对变量的补充说明,可以为任意字 符,长度可多达 257 个字符 。

36 Peking University SAS Club Page36 C. SAS 变量输入格式和输出格式

37 Peking University SAS Club Page37 C. SAS 变量日期和时间数据的存储 数值 SAS 采用数值存储日期和时间形式的数据。 在默认情况下, SAS 系统以 0 代表 1960 年 1 月 1 日 0 时。 其它日期在 SAS 系统中被存储为与该日期相差的天数。 例如, 1960 年 1 月 3 日,在系统中存为 2 。 2004 年 1 月 25 日,在系统中存为 16095 。 注意:为了使数值型变量显示日期形式,必须使用日期型 的输出格式,同样地为了以日期形式输入日期必须使用 日期型的输入格式。

38 Peking University SAS Club Page38 C. SAS 变量 SAS 变量分为两类,数值变量 (Num) 与字符变量 (Char) 数值型变量 数值型变量只能取数值为值。可以有正负号及小数点 (+ 、-、.) , 但不能有逗号 ( , ) 。 数值型是 SAS 的默认变量类型,默认长度为 8 位。 字符型变量 字符型变量可以取字符、字母、特殊字符以及数字为值。 在 DATA 步中某些 SAS 语句所使用的变量名后跟一个美元符号( $ ) ,即表明该变量是字符型变量,如 name$ 或 name $ 。 如果变量后不加 $ 符号, SAS 将该变量认为数值型。因此,对字符 型变量应加 $ 符号予以说明。 在 SAS 中一个字符变量的取值可以有 1—200 个字符长,默认长度 为 8 个字符长。

39 Peking University SAS Club Page39 D. SAS 算符 定义: SAS 算符是一些符号,它们要求作比较、算 术运算或逻辑运算。 SAS 使用两种主要类型的算符:前缀算符和中缀算符 前缀算符 前缀算符 用于变量、常数、函数或者用括号括起来的表达式。 例如: +Y -25 -COS(A) -(x1+x2-100) 前缀算符有:加号,减号, NOT 和符号 ^( 等价于 not) 。 中缀算符 中缀算符 作用在算符两边的运算对象上,例如 6<8 。 中缀算符一般分为四类:算术算符、比较算符、逻辑算符和其它算 符 ( 最大、最小和连接 ) 。

40 Peking University SAS Club Page40 D. SAS 算符 1. 算术算符: 算术算符表示执行一种算术运算,包括: ** 乘方 * 相乘 / 相除 + 相加 - 相减 如果算术算符有一个运算对象是缺失值,运算结果也是缺失值。 例如, y=x3 +. ; 则 y 的值为缺失值 (.) 2. 比较算符: 比较算符确定两个量之间的一种关系,如果这种关系成立,则输出 结果为 1( 真 ) ;如果它不成立,则输出结果为 0( 假 ) 。 比较算符包括: ^=(NE) =(EQ) 等于 ^=(NE) 不等于 >(GT) 大于 <(LT) 小于 >=(GE) 大于等于 <=(LE) 小于等于

41 Peking University SAS Club Page41 D. SAS 算符 (1) 算术表达式的比较 考虑表达式: A<=B 。 如果 A 的值为 4 , B 的值为 3 ,则表达式 A<=B 的值为 0( 假 ) ; 若 A 的值为 5 , B 的值为 9 ,则表达式 A<=B 的值为 1( 真 ) ; 若 A 与 B 的值均为 47 ,则表达式成立,且其值为 1 。 (2) 字符的比较 比较的对象可以是数值也可以是字符,但比较的结果总是数值 1( 真 ) 或 0( 假 ) 。字符运算对象在字符之间从左到右被比较。字符次序用机 器排列次序确定 ( 即按 ASCII 码排列序列 ) 。 例如,表达式 ’GRAY’>’ADAMS’ 是真的,它与表达式 ’ANDRE,C’<’ANDRE,CLYDE’ 一样,它们的值都是 1 。

42 Peking University SAS Club Page42 D. SAS 算符 3. 逻辑算符: 逻辑算符也称为布尔 (Boolean) 算符,在表达式里通常 用来连接一系列比较式。逻辑算符包括: &(AND) 与; | (OR) 或; ^ (NOT) 非 例如, age=25 AND sex= ’ 男 ’ 或 age=25& sex= ’ 男 ’ age=25 OR sex= ’ 男 ’

43 Peking University SAS Club Page43 D. SAS 算符 4. 运算次序: 关于运算次序, SAS 有如下的三个准则: 准则 1 :在括号里的表达式先计算; 准则 2 :较高优先级的运算先被执行。 准则 3 :对于相同优先级的算符,左边的运算先做

44 Peking University SAS Club Page44 D. SAS 算符 各运算符的优先等级 ( 排在前面的优先 ) : 1 级 ** 、 ^(not) 2 级 * 、 / 3 级 + 、 - 、 4 级 、 >= 、 ^> 、 ^ 、 >= 、 ^> 、 ^< 5 级 and 6 级 |(or)

45 Peking University SAS Club Page45 D. SAS 算符 准则 3 的例外情况: 1) 对第一级,右边的先做;( not 也是,注意乘方 ) 2**3**2 2**(3**2) 2) 当两个比较算符围着一个量时,则等价于一个 and 运算。例如: 12 12 12<age and age<20


Download ppt "北京大学 SAS 俱乐部 Peking University SAS Club SAS 软件会员培训 2006 年 10 月."

Similar presentations


Ads by Google