1 / 132

SAS 的基本使用方法

课件名称:. SAS 的基本使用方法. 开发者: 陶育纯 刘钢 版 本: 2.0. . 版权所有, 2000 ( c). 说明. 说明. 本课件为《卫生统计学》多媒体教学课件之一,是关于 SAS 的 基本使用方法部分。 《卫生统计学》是研究预防医学及卫生管理学不可缺少的重要理 论工具,而统计软件则是其重要的实践工具,因此单单掌握《卫生 统计学》的知识是不够的。 本课件作为《卫生统计学》的重要补充,详细介绍了当今世界 上享有很高声誉的统计系统—— SAS 软件包的基本使用方法,并运

elan
Download Presentation

SAS 的基本使用方法

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 课件名称: SAS的基本使用方法 开发者:陶育纯 刘钢 版 本: 2.0  版权所有, 2000 (c)

  2. 说明 说明 本课件为《卫生统计学》多媒体教学课件之一,是关于SAS的 基本使用方法部分。 《卫生统计学》是研究预防医学及卫生管理学不可缺少的重要理 论工具,而统计软件则是其重要的实践工具,因此单单掌握《卫生 统计学》的知识是不够的。 本课件作为《卫生统计学》的重要补充,详细介绍了当今世界 上享有很高声誉的统计系统——SAS软件包的基本使用方法,并运 用先进的多媒体手段表述传统讲授无法做到的内容;大量运用动画 手段把难以表达和理解的理论转化成动态的流程图、示意图;大量 采用真实、直观的图形描述SAS中的实际输出结果;采用了先进的 动态链接技术贯穿全部理论内容,使得查询变得非常快捷、方便。 此外,本课件还简要介绍了当前最新版本SAS的使用方法。 本课件采用交互式设计,使用方便、容易。

  3. 目录 目录 前言 第一章 SAS系统概述 §1.1 SAS系统介绍 §1.2 SAS系统使用方法 §1.3 SAS程序的输入与运行 §1.4 如何使用DMS §1.5 SAS编程基础 §1.6 调用DOS命令 §1.7 自动执行命令文件(略)

  4. 目录 目录 第二章 建立数据集 §2.1 数据步基本语句 一. DATA语句 二. INPUT语句三. SAS内建数据集格式 §2.2 提供信息的几个语句 一. LENGTH 二. LABEL 三. FORMAT四.MISSING 五. 注释语句 §2.3 建立数据集的另外几种途径 一. 从外部数据文件中读入数据 二. 从已建立的数据集中读入数据 三. 从外部数据库文件中读入数据

  5. 目录 目录 §2.4 建立与保留变量 §2.5 条件语句 §2.6 删除观测值 §2.7 循环语句 §2.8 OUTPUT语句 §2.9 建立永久数据集 §2.10 数据排序 §2.11 数据集连接与合并 第三章 SAS过程步中常用语句

  6. 目录 目录 §3.1 PROC语句 §3.2 BY语句 §3.3 CLASS语句 §3.4 VAR语句 §3.5 WEIGHT语句 §3.6 FREQ语句 §3.7 ID语句 §3.8 OUTPUT语句 §3.9 TITLE语句

  7. 目录 目录 第四章 SAS服务过程 §4.1 PRINT过程 §4.2 FORMAT过程 §4.3 STANDARD过程 第五章 描述性统计过程 §5.1 统计概念简介 §5.2 MEANS过程 §5.3 FREQ过程 §5.4 TABULATE过程

  8. 目录 目录 §5.5 PLOT过程 §5.6 CHART过程 §5.7 SAS / GRAPH 简介 §5.8 UNIVARIATE过程 第六章 假设检验 §6.1 假设检验简介 §6.2 c 2 检验 §6.3 t 检验 §6.4 NPAR1WAY过程

  9. 目录 目录 上机操作常见错误及注意事项一 补充:介绍SAS一些常用内建格式 第七章 方差分析 §7.1 方差分析概述 §7.2 ANOVA过程 §7.3 ANOVA过程应用举例 一. 完全随机设计资料的方差分析(单因素方差分析) 二. 随机区组设计资料的方差分析(两因素方差分析)

  10. 目录 目录 第八章 相关分析 §8.1 相关分析概述 §8.2 CORR过程 第九章 回归分析 §9.1 回归分析概述 §9.2 REG过程 介绍SAS常用的绘图过程 §5.5 PLOT过程 §5.7 SAS/GRAPH简介( GPLOT过程 )

  11. 目录 目录 目录 上机操作常见错误及注意事项二 第十章 SAS 6.12的基本使用方法 §10.1 介绍SAS 6.12 一. DOS版本与Windows版本的区别 二. SAS 6.12介绍 三. SAS 6.12的操作界面 四. SAS 6.12的基本操作 §10.2 SAS 6.12的基本使用方法 一. SAS 6.12的启动和退出 二. SAS 6.12功能键的使用方法

  12. 目录 目录 三. PGM的编辑使用方法 §10.3 使用SAS 6.12的注意事项 参考文献 注:为使用者抓住学习要害及关键内容,重要的章节用★ 标明。

  13. 前言 • 电子计算机(computer)的出现是当代科学技术发展中一件具有划时代意义的重大事件。 No Computer, No Modernization. 信息时代离不开computer。 计算机技能应当成为新一代知识分子知识结构中一个重要组成部分。 • 卫生统计学是研究预防医学及卫生管理学不可缺少的重要理论工具,而统计软件则是其重要的实践工具。

  14. 前言(续) • 统计软件包(Statistical Package):是一系列能对数据进行各种统计分析的程序的组合。 特点:① 可靠性高 ② 易用性好 ③ 通用性强 ④ 应用范围广 ⑤ 容量大 常用的统计软件包: 国外:SAS SPSS BMDP EPI GLIM等 国内:PEMS SPLM POMS PHS等

  15. SAS系统介绍 第一章 SAS系统概述§1.1 SAS系统介绍 • SAS(Statistical Analysis System) SAS系统是一个模块化、集成化的应用软件系统,它可以实现对数据的完全控制和充分利用。主要完成以数据为中心的四大任务: •数据访问 •数据管理 •数据呈现 •数据分析 SAS系统包含许多不同的模块来完成不同的任务。关于模块的简介可参见教材Page 1。 • SAS系统的特点 ① 灵活的处理方式 ② 信息存取简单 ③ 语言编程能力强

  16. SAS启动 ④ 对数据连续处理 ⑤ 统计分析方法丰富,使用简单 ⑥ 报表输出能力强 ⑦ 宏功能 ⑧ SAS过程菜单系统 • SAS的运行环境 参见教材Page 2。 §1.2 SAS系统使用方法 SAS的启动和退出 1.启动 C:\>cd\sas (回车) C:\SAS>sas

  17. DMS OUTPUT Command ===> 此为SAS显示管理系统(Display Manager System) 简称DMS。 LOG Command ===> Licensed to xxxxxx PROGAM EDITOR Command ===> 00001 00002 00003 00004 程序编辑窗口(PROGAM EDITOR,简记PGM) 日志窗口(LOG) 输出窗口(OUTPUT)

  18. SAS的退出 2.临时退出 Command ===> x  将进入SAS下的DOS,返回SAS时需敲入“EXIT ”。 SAS下的DOS与DOS不同。 3. 退出SAS 在PGM窗口的命令行敲入“BYE ”即可。 §1.3 SAS程序的输入与运行 一.SAS程序结构

  19. SAS程序结构 数据步(DATA Step) SAS Program 过程步(PROC Step) ; (分号)是SAS每个语句的结束符。 二.SAS程序的输入修改和运行 1.程序输入: 规则见教材Page 5~6。★ 2.发送程序: 命令行敲入“SUBMIT ”或按F10。 3. 运行信息: 在LOG窗口出现。 4. 调回已发送的程序: 在PGM窗口命令行敲入“RECALL ” 或按F9。

  20. 功能键及行命令 5. 程序的输出:4种输出方法见教材 Page 7。 KEYS <DMKEYS> §1.4 如何使用DMS Command ===> Key Description F1 help F2 keys F3 log F4 output F5 next F6 pgm F7 zoom F8 subtop F9 recall F10 zoom off;submit F11 F12 end … ... 一.功能键介绍 Command ===> keys 或按F10。 各功能键定义的命令见右图。 二.如何使用PGM 1. 功能键: 见上面。 2. 编辑键及光标键: 见教材 Page 8。 3. 行编辑命令: I [A/B] [n]插入一个或多个新行 D [n]删除一行或多行 DD 删除一行块

  21. 文件的存取 C [n]拷贝一行或多行语句到指定位置 CC拷贝一行块到指定位置 M [n]移动一行或多行到另外位置 MM移动一行块到指定位置 三.窗口内容的存取 1. 存入磁盘文件: Command ===> FILE ‘ filename ‘ ★ filename应包含完整的路径。 2. 由打印机输出: 略。 3. 调入外部文件: 在PGM窗口下 Command ===> INCLUDE ‘ filename ‘ ★ INCLUDE可以简化为INC。 filename应为文本文件。

  22. SAS基础 四.窗口内容的删除 Command ===> CLEAR  §1.5 SAS编程基础 一.观测值(observation) 等同于数据库中的记录(record)。 观测值的集合称为数据集(data set)。 二.变量(variable) 等同于数据库中的字段(field)。 1. 命名:命名规则见教材 Page 9。 ★ 2. 变量特性:数值型和字符型 •字符型变量在变量名后用一“$”号来表示。 例如 name $

  23. SAS基础(续) 3. 变量清单的简化表示: 即可用x1–xn表示x1、 x2 、 x3 … xn。 4. 缺项值:用“•”表示。 三.常量(constant) 1. 数值常量 2. 字符常量 3. 日期、时间和日期常量。 四.函数(function) 1. 算术函数:ABS(x) 、 SQRT(x)等。 2. 数学函数:EXP(x)、LOG(x) 、LOG10(x)等。 3. 字符函数:略。 4. 日期和时间函数: DATE()等。

  24. SAS基础(续) 5. 统计函数: MEAN(x1,x2...)、STD(x1,x2...)等。 6. 概率函数: POISSON(,n)等。 五.操作符(operator) 1. 算术操作符: **表示乘方。 2. 比较操作符: ^=或NE表示不等于。 3. 逻辑操作符: &AND, | OR, ^ NOT。 六.SAS表达式(expression) 七.举例 (略) §1.6 调用DOS命令 X ' DOS command '; §1.7 自动执行命令文件(略)

  25. 第二章 建立数据集§2.1 数据步基本语句 一.DATA语句 格式:DATA [数据集名] ; 作用:指明数据步的开始,给出所建数据集的名称。 数据集名:[libref .] sas-filename [库标记 .] 文件名 (一级名) (二级名) 每次SAS启动时都自动指定两个库标记(库逻辑名): SASUSER 永久库 WORK临时库 仅使用二级名的数据集,系统自动以WORK作为一级名。

  26. INPUT语句 二.INPUT语句 作用:描述输入的数据,给输入值定义变量。 1.列表方式 ★ 格式:INPUT variable [$] variable [$]… ; 例:input name $ age height weight ; 2.格式方式 格式:INPUT variable informat… ; informat(输入格式): [$] informat-name [w].[d] 其中 $ 代表字符型变量 informat-name输入格式名 w输入数据域的宽度 • 必须的分隔符 d 小数部分的长度

  27. @@ 例: input name $10. address $20. weight $4.1 ; 2.行保持符 @@ 适用于列表方式,作用为从一行读入多个观测值。 例:data t ; input x y @@ ; cards ; 3.16 2.9 4.8 5.7 8.24 6.58 ; proc print ; run ; 三.SAS内建数据集格式 ★

  28. §2.2 提供信息的几个语句 格式: DATA [数据集名] ; INPUT 变量 … ; 其它语句; CARDS ; 数据行 ; 一.LENGTH语句 格式:LENGTH variable [$] w ; 其中 w为变量长度。 例:length name $ 12 ; 二.LABEL语句

  29. LABEL 格式:LABEL variable =‘ label ‘ variable =‘ label ‘ ... ; 其中 label为变量标记。 例:data d ; input name $ sex $ h w ; label h=‘height’ w=‘weight’ ; cards ; . . . ; proc print label ; run ; 在proc print中,只有加label选项才可打印出变量标记。 三.FORMAT语句 格式:FORMAT variable format … ; 其中 format为SAS输出格式名。 例见教材 Page 20。

  30. 注释语句 四.MISSING语句 格式:MISSING value ... ; 其中 value为变量缺项值。 例见教材 Page 21。 五.注释语句 格式:①* 注释信息行 ; ②/ * ... 注释信息 … * / 六.OPTIONS语句(略) 例见教材 Page 21。

  31. §2.3 建立数据集的另外几种途径★ 一.从外部数据文件中读入数据 外部数据文件指ASCII码型(文本)文件。 格式:DATA [数据集名] ; INFILE ‘ filename ‘ ;filename应包含完整的路径。 INPUT 变量 … ; 其它语句 ; RUN ; 例:data t ; infile ‘ c:\96yf\fit.dat ‘ ; input num $ name $ sex $ height weight ; proc print ; run ; INFILE语句必须在INPUT语句之前执行。

  32. SET与DBF 二.从已建立的数据集中读入数据 格式:DATA [新数据集名] ; SET 旧数据集名 ; 其它语句 ; RUN ; 例:data d2 ; set d1 ;假设d1中有变量x、y z = x + y ; proc print ; run ;新数据集d2中有变量x、y 、z 三.从外部数据库文件中读入数据 外部数据库文件指由数据库软件(如FoxBASE+)生成的文件。 格式:PROC DBF DB3 = 文件逻辑名 [OPTIONS] ; 其中文件逻辑名用FILENAME语句定义。

  33. DBF例1 格式:FILENAME文件逻辑名 ‘ filename ’ ; filename应包含完整的路径。 其中OPTIONS有下述选项: DATA = 输入数据集名SASDBF OUT = 输出数据集名SASDBF 转换规则见教材Page 23。 例:假设在c:\96fy子目录下存在一个由FoxBASE+生成的数据库文件 mark.dbf,若将它转换成SAS数据集,方法如下: filename yf ‘ c:\96yf\mark.dbf ‘ ; proc dbf db3 = yfout= abc ; run ;SASDBF 这里filename语句给数据库文件mark.dbf定义文件逻辑名yf,使SAS 能够从指定的c:\96fy子目录下读取文件。

  34. DBF例2 例:假设当前在SAS内存在一个数据集d1,若将它转换成数据库文件 student.dbf,方法如下: filename yf ‘ c:\96yf\student.dbf ‘ ; proc dbf db3 = yfdata= d1 ; run ;SASDBF 这里filename语句给数据库文件student.dbf定义文件逻辑名yf,使SAS 能够把转换后的数据库文件存放到指定的位置c:\96fy子目录下。 §2.4 建立与保留变量 一.赋值语句 格式:variable = SAS expression ; 例:z = x + y ;

  35. 建立与保留变量 二.删除和保留变量 1.DROP语句 格式:DROP variables ; 例:drop s1 s2 s3 ; 2.KEEP语句 格式:KEEP variables ; 例:keep name num ; 在DATA中,不要同时使用KEEP和DROP语句。 §2.5 条件语句 一.IF-THEN语句

  36. IN-THEN语句 格式:IF expression THEN statement ; 作用:如果表达式结果为非零非缺失,则SAS执行THEN后语句。 例:data a ; missing G ; input a b c ; if b - a then put a b c ; cards ; 23 G 23 34 54 56 23 23 65 ; (run ;) 程序运行后输出结果见右图。 LOG 34 54 56

  37. IF-THEN/ELSE语句 二.IF-THEN/ELSE语句 格式:IF expression THEN statement ; ELSE statement ; 作用:如果表达式为真,则执行THEN后语句,否则执行ELSE 后语句。 例见教材Page26。 在THEN和ELSE之后只允许执行一个语句,如果用IF语句 执行多个语句,则用DO - END语句。 DO-END格式:IF expression THEN DO ; statements ; . . . END ; ELSE DO ; statements ; . . .END ;

  38. DELETE语句 §2.6 删除观测值 一.DELETE语句 格式:DELETE ; 作用:停止处理当前的观测值且不写入正在建立的数据集中。 例:data b ; input num $ english test1 test2 @@ ; if english < 60 then do ; put num ; delete ; end ; total = sum(of test1 test2 english) ; cards ; 88011 100 78 90 88012 97 86 100 88013 59 68 88 ; (run ; proc print ; var num total ; run ;) 程序运行后输出结果见下图。

  39. IF LOG OUTPUT SAS OBS NUM TOTAL 1 88011 268 2 88012 283 88013 二.求子集IF语句 格式:IF expression ; 作用:如果表达式为真(非零且不缺项),执行表达式;否则返回 DATA步开始并不输出这个观测值。 例:data child ; input num $ sex $ month @@ ; cards ; 1001 F 8 1002 M 9 1003 F 17 1004 M 14 ; data baby ; set child ; if month < 12 ; data girls ; set child ; if sex = ‘ F ‘ ; ( run ; proc print data=baby ; proc print data=girls ; run ;)

  40. 循环语句 程序运行后输出结果见下图。 OUTPUT OUTPUT SAS 1 OBS NUM SEX MONTH 1 1001 F 8 2 1002 M 9 SAS 2 OBS NUM SEX MONTH 1 1001 F 8 2 1003 F 17 baby数据集内容 girls数据集内容 §2.7 循环语句 格式:DO 循环控制变量 = 初值 [ TO 终值 [ BY 增量 ] ] ; 循环体 END ; 例:data _null_ ; do i = 1 to 3 ; put i = ; end ;(run ;) 程序运行后输出结果见右图。 LOG I=1 I=2 I=3

  41. §2.8 OUTPUT语句 格式:OUTPUT [数据集名表] ; 作用:将当前观测值写入正建立的数据集或指定的数据集中。 OUTPUT语句一般用于: ① 在循环语句中输入数据 ② 从一个输入的数据文件中创建一个以上的SAS数据集 例:data am ; do group = 1 to 2 ; do i = 1 to 9 ; input x @@ ; output ; end ; end ; cards ; 1.23 1.21 1.19 1.30 1.22 1.27 1.32 1.38 1.19 1.22 1.38 1.29 1.27 1.31 1.38 1.29 1.32 1.20 ; (run ;)

  42. 建立永久数据集 §2.9 建立永久数据集★ • 需要以下两个语句实现: 一.LIBNAME语句 格式:LIBNAME libref ‘ path ‘ ; 其中libref 称为库标记(库逻辑名) path为路径 库标记实质就是路径的别名,因为SAS数据集名称不能使用真实的路径。 例:libname yf ‘ c:\96yf\ ’ ; 二.DATA语句 格式:DATA libref . sas-filename ; (一级名) (二级名)

  43. 例1,2 例1:libname yf ‘ c:\96yf\ ‘ ; data yf . students ; infile ‘ c:\96fy\fit.dat ‘ ; input num $ name $ sex $ h w ; run ; 例2:libname yf ‘ c:\96yf\ ‘ ad ‘ a: ‘ ; data yf . stud ; set ad . students ; age = age + 1 ; run ; §2.10 数据排序 • 排序需要调用SORT过程

  44. 排序 格式:PROC SORT [options] ; BY [descending] variables ; options 可有如下选项: DATA = 数据集对非当前数据集排序 OUT = 数据集排序后产生一新数据集 BY语句指出排序所用变量 descending指明降序排列 缺省时,排序后的输出数据集覆盖源数据集,系统默认升序。 例: 见教材 Page 32 。 §2.11 数据集连接与合并 一.数据集连接 • 利用SET语句

  45. 数据集的连接与合并 格式:DATA sas-data-set ; SET sas-data-sets ; RUN ; 例:data c ; set a b ; run ; 二.数据集合并 • 利用MERGE语句 格式:DATA sas-data-set ; MERGE sas-data-sets ; BY by-variables ; RUN ; 其中 by-variables为匹配变量。 要求输入数据集必须预先按by-variables排序。 例:data d ; merge a b ; by idnum ; run ; A B SAS数据步 数据连接 数据合并 A A B B SAS数据集连接与合并流程图

  46. PROC与BY 第三章 SAS过程步中常用语句★§3.1 PROC语句 格式:PROC sas-proc-name [options] ; 功能:指定调用的过程及该过程的若干选择项。 例:proc print label data=a ; (run ;) §3.2 BY语句 格式:BY [ descending ]variables [ notsorted ] ; 功能:以指定的变量值来分组处理某数据集。 例:libname yf ‘ c:\96y\ ‘ ; data a ; set yf . students ; proc sort data = a out = yf . sortstud ; by sex descending h ; proc print ; by sex ; (run ;)

  47. CLASS,VAR与WEIGHT BY语句总是与SORT过程一起使用。 §3.3 CLASS语句 格式:CLASS variables ; 功能:定义分类变量。 CLASS语句不要求数据集事先排序。 §3.4 VAR语句 格式:VAR variables ; 功能:用于定义分析变量。 §3.5 WEIGHT语句 格式:WEIGHT variable ; 功能:规定一个数值变量,以其值作为观测值的权重。

  48. FREQ,ID与OUTPUT §3.6 FREQ语句 格式:FREQ variable ; 功能:规定一个数值变量,其值表示观测值出现的频数。 §3.7 ID语句 格式:ID variables ; 功能:用于规定一个或几个变量,以便在输出或由该过程生成的 数据集中,不再使用OBS,而用这些变量值来识别观测值。 §3.8 OUTPUT语句 格式:OUTPUT OUT =数据集名 [ 统计关键字 = variable ] ; 功能:将过程结果输出到一个新的SAS数据集中,以便作为下步 处理的输入。

  49. 例:libname yf ‘ c:\96y\ ‘ ; proc means data = yf . students n mean sum ; var h w ; output out = yyy mean = mh mw std = sh ; proc print data = yyy ;( run ; ) 输出结果见下图: OUTPUT NObs Variable N SUM Mean 10 H 10 16.6500000 1.6650000 W 10 596.2000000 59.6200000 MEANS过程的输出 OUTPUT OBS _TYPE_ _FREQ_ MH MW SH 1 0 10 1.665 59.62 0.096753 YYY数据集的内容

  50. TITLE §3.9 TITLE语句 格式:TITLEn ‘ 标题 ’ ; 功能:规定在SAS输出文件上第n行打印标题。 一旦规定了标题,那么后继的输出中都输出该标题,直至取 消这一标题或定义其它标题。如想取消现存的标题,可使用空 TITLE语句。 格式:TITLEn ; 第四章 SAS服务过程 (数据呈现)§4.1 PRINT过程

More Related