SAS简明教程 .pdf

上传人:Che****ry 文档编号:34879697 上传时间:2022-08-19 格式:PDF 页数:48 大小:565.50KB
返回 下载 相关 举报
SAS简明教程 .pdf_第1页
第1页 / 共48页
SAS简明教程 .pdf_第2页
第2页 / 共48页
点击查看更多>>
资源描述

《SAS简明教程 .pdf》由会员分享,可在线阅读,更多相关《SAS简明教程 .pdf(48页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、本文转自网站生物谷WORD 版由 Robot 整理1 第一章统计软件中的数据录入格式统计分析是科研中的必要环节,统计软件则是进行统计分析的利器。但是,在计算机已逐渐普及的今天, 统计软件却仍让人感到几分神秘:除了大型统计软件都还没有中文版这一原因,统计软件在许多小的方面也有自己的特点,往往就是这些小地方就会让许多人深入宝山而空返。今天我们就来谈谈使用统计软件时一个最基本而又非常重要的问题数据录入格式。简言之, 我们平时往往用表格的形式来记录数据,这并无不妥。 问题在于当进行统计分析时,如果我们直接将数据按平时记录的格式来进行分析,那就很可能不得其门而入因为大多数统计软件对数据格式都有着特定的格

2、式要求,下面我们就举一些常见的情况来解释这一问题。( 篇幅较长,点“视图”“文档结构图”可方便定位阅读。)1. 单组或多组数据平时我们多记录成 第 1 组、第 2 组、第 3 组. 等等,如表一左侧所示。样本含量相等或不等。主要用于成组资料比较的t 、 F或秩和检验等。这种记录格式姑且称为统计表格格式,在各种统计软件中,该数据通用的分析格式如表一右侧所示,我们把这种格式称为统计分析格式。表 一统计表格格式序号第 1 组 第 2 组 第 3 组10.10.40.620.20.50.730.30.840.9样本量324统计分析格式1 , 0.1 1 , 0.2 1 , 0.3 2 , 0.4 2

3、, 0.5 3 , 0.6 3 , 0.7 3 , 0.8 3 , 0.9看出来区别了吗?统计分析格式中第一列为“ 分组变量 ” ,指示所在的组号;第二列为原始数据。现在再回到SPSS等统计软件的菜单去,做one-way ANOVA (成组的方差分析)知道怎么选变量了吧!2. 配伍组数据平时的记录格式同上面相似。主要用于配伍组资料比较或秩和检验 等。见表二:表 二统计表格格式序号第 1 组 第 2 组 第 3 组10.10.30.5名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1

4、页,共 48 页 - - - - - - - - - 本文转自网站生物谷WORD 版由 Robot 整理2 20.20.40.6样本量222统计分析格式1 , 1 , 0.1 1 , 2 , 0.2 2 , 1 , 0.3 2 , 2 , 0.4 3 , 1 , 0.5 3 , 2 , 0.6统计分析格式中第一列为“ 第一分组变量 ” ,指示所在的组号;第二列为“ 第二分组变量 ” ,指示在该组的序号,第三列为原始数据;3. 单组成对数据变量名分别为: X、Y,要求样本含量相等。主要用于配对计量资料比较的 t、秩和检验;直线回归与相关;曲线拟合等,格式见表三。表三统计表格格式序号XY10.1

5、0.420.2 0.530.3 0.6样本量33统计分析格式0.1 , 0.4 0.2 , 0.5 0.3 , 0.6两种格式没有区别, 但请注意, 如果配对资料转用方差分析来处理,则相应的也要变换格式。4. 多组成对数据主要用于协方差分析,格式见表四。表 四统计表格格式序号X1 Y1 X2 Y210.1 0.3 0.5 0.820.2 0.4 0.6 0.90.7 1.0样本量2233统计分析格式1 , 0.1 , 0.3 1 , 0.2 , 0.4 2 , 0.5 , 0.8 2 , 0.6 , 0.9 2 , 0.7 , 1.0在统计分析格式中,第一列为对子组号,第二列与第三列分别为该组

6、的对子X、Y。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 48 页 - - - - - - - - - 本文转自网站生物谷WORD 版由 Robot 整理3 第二章SAS/ASSIST 视窗简介SAS是一个庞大的系统,它由许多模块组成,每个模块分别完成不同功能。由于最初是为专业统计人员设计的(这一点和SPSS 恰恰相反),因此使用上以编程为主,初学者掌握较为困难。现在,微机操作系统已经进入了WINDOWS 时代,而WINDOWS 软件的一个重要特点就是易学易用。要想在

7、市场中继续领先,SAS 必须推出能体现WINDOWS 软件这一特色的新界面,SAS/ASSIST 视窗就是这一努力的结果。虽然它还有许多不足之处,但这一新界面使得初学者较快地学会使用SAS 成为可能。本章将向大家介绍这一SAS 的全新界面 SAS/ASSIST 视窗。长期以来, 对于统计软件界面的易用性有两种理论:一种认为统计软件也是软件,美观易用的界面是它必备的功能;另一种理论则认为统计软件有其特殊用途,现在有许多统计方法实际上是在被滥用,而如果任何人都可以通过简单方便(即“友好”)的界面来使用自己实际上并不了解的复杂统计模型, 则等同于是在助长这一现象。这两种理论都有一定的道理,看来 SA

8、S倾向于后者: ASSIST视窗只能提供较常用的统计功能,并且看上去也不怎么漂亮。2.0.1 ASSIST 视窗的启动ASSIST 视窗的启动方法也是比较多的。如果从下拉菜单启动,则请单击Globals- SAS/ASSIST ,系统将开始启动ASSIST 视窗,几秒钟后进入ASSIST 视窗主界面如下图所示:ASSIST 视窗的正上方为主菜单名(Primary Menu),下面的12 个按钮分别表示了在该视窗中可用的各种功能。常用的按钮有:TUTORIAL按钮由此可以进入SAS 提供的教学程序DATA MGMT按钮由此进入数据库管理模块GRAPHICS 按钮由此进入绘图模块DATA ANAL

9、YSIS按钮由此进入统计分析的有关模块INDEX 按钮提供全部可用命令的索引,如果对菜单项的分类不清楚,可以从这里直接查找所需功能EXIT 按钮使我们可以退出ASSIST 视窗我们主要介绍统计分析功能,对于其它功能,有兴趣的同学可以自行摸索。单击 DATA ANALYSIS ,则视窗进入二级菜单数据分析菜单(Data Analysis Menu),它的布局和主菜单界面基本一致,各种按钮中常用的有:ELEMENTARY按钮提供基本的统计分析,如描述、相关、频数表REGRESSION 按钮提供线性回归、 Logstic 回归和时间序列回归统计ANOVA 按钮提供方差分析、非参数检验和t 检验MUL

10、TIVARIATE按钮提供主成分分析等多元分析方法QUALITY CNTL按钮进入质量控制模块TIME SERIES按钮提供时间序列分析功能DATA MGMT按钮与主菜单的该按钮相同,进入数据库管理模块INDEX 按钮提供全部可用功能的索引2.0.2 ASSIST 视窗的使用方法下面我们以一个例子来说明ASSIST 视窗的使用方法。现有数据集SASUSER.CLASS记录了某班学生的年龄、身高和体重情况,我们要对该数据进行简单的描述,则用ASSIST 视窗的操作方法如下: 单击数据分析菜单中的按钮ELEMENTARY ,则系统开启一个新的ELEMETARY对话框如下图所示:名师资料总结 - -

11、 -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 48 页 - - - - - - - - - 本文转自网站生物谷WORD 版由 Robot 整理4 请注意 Summary statistics是以深色显示的,表示该项为默认值。用鼠标单击该项目,则系统开启下一个对话框Summary Statistics对话框如下图所示: Summary Statistics对话框就是统计描述的主窗口,它由一些按钮和复选框(Check box)组成,注意Active data set:按钮和 Variables

12、 :按钮的右侧写着“-REQUIRED-”,表示这两项必须加以定义,否则程序没有足够的信息来运行。首先定义所分析的数据集:单击 Active data set:,则系统开启新对话框如图A 所示: 在该对话框中列出了可用的所有数据集名,从左到右依次为库名、数据集名和数据集类型,拖动滑块使SASUSER.CLASS数据集出现在窗口中,用鼠标单击数据库名,由于当前数据集只能有一个,所以对话框自动关闭,退回Summary Statistics对话框。如果我们再次进入Active data set对话框, 则可见 SASUSER.CLASS数据集的左侧有一个星号,如图B 所示,这表示该数据集已被选中为当

13、前数据集。如果要改变选择,直接单击需要的数据集名,系统会自动替换。 请注意右图, Active data set:按钮的右侧显示为SASUSER.CLASS ,表示当前分析数据集为 SASUSER 库的数据集CLASS。现在我们可以定义分析变量了:单击Variables :,系统开启一个变量选择对话框供我们选择变量。 SASUSER.CLASS中可供分析的连续变量均显示在变量窗口中,我们想对这三个变量都做描述,则依次单击三个变量名,单击后变量名的左侧出现一个星号,表示该变量被选中;再单击一次则星号消失,表示撤消选择。 将三个变量全部选中,如图 C 所示。 然后后按 OK,该窗口关闭,系统退回上

14、一级窗口。 Variables按钮右侧显示为AGE 、HEIGHT 、WEIGHT 三个变量。现在我们输入的信息已经满足了运行程序的最低要求,但是我们还想将结果按性别分开输出,则单击Class:,系统开启变量选择窗口如图D 所示。用鼠标单击变量名“SEX”,再单击OK,此时变量描述窗口如下图所示: 变量的选择告一段落,现在开始选择所需要的统计量。变量描述窗口的下方为一些复选框,右侧为复选框名,左侧为复选框的状态。以 SUM 复选框为例, 用鼠标单击SUM 左侧的小方框,此时该方框内打勾,表示该项被选择;再点一下则复选框恢复原状态。如此选择所需的全部统计量,最后变量描述窗口的状态如下图所示: 现

15、在是最后一步运行程序了,选择下拉菜单Locals- Run,则系统开始执行程序,最后 OUTPUT 视窗自动弹出,显示最终的运行结果。可能有的同学觉得奇怪,为什么我总是说系统在执行程序,刚才没有写程序啊?!事实上,SAS/ASSIST视窗是一个程序自动产生器,我们所做的每一个选择都被写成了程序,最后系统执行这个自动产生的程序来向我们交差。如果想看所产生的程序,则选择下拉菜单LocalsView- Sourse。以刚才的选择为例,系统产生的程序其主要部分如下:proc means data=SASUSER.CLASS vardef=DFMIN MAX RANGE SUM MEANVAR STD

16、STDERR CV ;var AGE HEIGHT WEIGHT ;class SEX ;run;名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 48 页 - - - - - - - - - 本文转自网站生物谷WORD 版由 Robot 整理5 通过这个例子,我们掌握了使用SAS/ASSIST 视窗时将会碰到的窗口界面的用法。为了使大家在学习SAS 时能打下较坚实的基础,本书仍然以讲述SAS 语言为主线。但是在例题的解中,我们将尽可能给出程序和ASSIST 视窗两种操作方

17、法。同学们可根据具体情况自行选择使用哪种解法。第三章SAS 程序初步从本质上讲, SAS是一种完善的第四代计算机语言。因此要真正掌握它,我们仍然要抛开其华丽的外表,从学习它的核心SAS程序开始。现在, 让我们将 SAS看成一个计算能力极强的统计学白痴(之所以这样说,是因为它计算能力虽然极强, 却只能帮你计算而不能提出自己的实验设计方案或研究方向来),而你有一个非常小的关于数据分析的问题要请它帮忙。自然你要开口提出请求,无论措辞是委婉动听还是直截了当,你的大实话无非是“喂,老兄,我有这样一些数据,我想做这样一种统计分析,您能帮我吗?”。他迅速检查您的要求,在认为合情、合理并且合法后,就开始进行计

18、算,并且在很短的时间内给出计算结果。好的, 计算机语言就是我们和计算机对话时所用的语言。和以上人类对话的例子相对照,“我有这样一些数据”对应SAS程序中的数据步;而“我想做这样一些统计处理”对应SAS程序中的程序步;最后的那一句哀求“您能帮我吗”则对应了Submit 命令。在默认情况下,运行结果或者出错信息将自动给出(当然你也可以强制不让它输出)。此外, 还有一些系统环境控制语句,如Libname、title等。 SAS程序就是由一个或多个数据步和/ 或程序步加上一些乱七八糟的环境控制语句组成。 在本章中, 我们将首先学习SAS对数据的管理方式,然后会了解到什么是数据步和程序步,最后则介绍一下

19、SAS语言中结构化语句的语法。3.1 SAS 系统对数据的管理在 SAS系统中只有SAS数据集 才能被 SAS过程直接调用, SAS数据集的结构和DBF数据库完全相同, 因此无须多讲。 而 SAS数据集存储在被称为SAS数据库的文件集中,在 PC系统中,SAS数据库与某一个文件夹相对应,我们要为每一个数据库指定一个库标记( 库名 ) 来识别该库,使用Libname 命令可以指定库标记。它的一般格式如下:Libname 库标记 文件夹位置 选项 ;例如要指定目录“C:USER”为库标记A,可以在视窗中提交如下语句:libname a c:user;数据库可分为 永久库 和临时库 两种。临时库只有

20、个,名为WORK ,它在每次启动SAS系统后自动生成, 关闭 SAS时库中的数据集被自动删除;永久库可有多个, 用户可以使用Libname语句指定永久库的库标记,永久库中的所有文件都将被保留。但库标记仍是临时的,每次启动 SAS系统后都要重新指定。不过为了方便用户,SAS在每次启动时都会自动指定两个库标记:SASUSER:指明为永久库, 即库中的数据集被保存起来,以便下次启动系统时使用。WORK:指明为临时库,对于开发和检查新程序非常有用,但每次SAS运行结束后WORK 库中的所有文件将被删除。在程序中引用该库中的数据集可以省略库标记,即它被认为是缺省的数据库。SAS数据库对应文件夹, 如 S

21、ASUSER 对应 c:sassasuser,WORK 对应 c:sassaswork, SAS数据集则对应文件,每个数据集实际上是在硬盘的相应文件夹内产生一个文件名为数据名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 48 页 - - - - - - - - - 本文转自网站生物谷WORD 版由 Robot 整理6 集名,而扩展名为.sd2 的文件,因此如果你成功的建立了一个数据集,理论上你就可以反复使用它直到硬盘报废。每一个数据集都有一个两级名,第一级是库标记,第二级

22、是数据集名,中间用“. ”隔开,在程序中通过指定两级名来识别文件。文件两级名的一般形式如下:库标记 . 数据集名如在 a 库中的数据集abc 可以这样来引用:a.abc 。3.2 SAS 程序的数据步3.2.1 预备知识SAS程序的语句从上一个语句结束处开始,以一个分号结束,可占多行。3.2.2 数据步以 DATA语句开始,用于创建和处理数据集。其中最常用的语句有:DATA 语句它的主要功能是:o标志数据步的开始。o命名将要创建的SAS数据集。DATA 语句的一般形式如下:DATA数据集名 ;INFILE 语句 用于从外部文件读入数据,必须出现在INPUT 语句之前。它的主要功能是:o确定一个

23、包含原始数据的外部文本文件。INFILE 语句的格式如下:INFILE 外部文件的所在位置及名称选项 ;CARDS 语句 用于直接输入数据,标志着数据块的开始。格式如下:CARDS ;数据块;INPUT 语句用于向系统表明如何读入每一条记录。它的主要功能有:o读入由语句指定的数据列。o为相应的数据域定义变量名。o确定变量的读入模式。INPUT 语句的格式如下:INPUT 变量名 变量类型起止列数 .;方括号表示其中的内容为可选,如果不输入,系统会以默认值代替。3.2.3 数据的两种输入方式上面我们学到了INFILE 语句和 CARDS 语句,它们分别对应了两种数据输入的方式:【直接输入方式】实

24、际上我们在第一章已经用到了直接输入方式,仍以那个程序为例,其中的数据步如下:data temp;命名将要建立的数据集为work.tempinput x y;要输入的变量为x、y,并且连续输入cards;直接输入数据,数据块开始34 56 78 90 35 67 89 10 23 65 77 45数据块;数据块结束名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 48 页 - - - - - - - - - 本文转自网站生物谷WORD 版由 Robot 整理7 变量后面的 表

25、示数据可以在一行里连续读入,SAS默认按列来分隔变量,可是这里只有两个变量,输成两列数据太长,因此加上两个,SAS见到这个符号,在按变量名依次读取完数据后,不是跳到下一行,而是继续在该行读数据,直至本行结束或到达分号为止。如果你对这段叙述无法理解,请去掉两个,重新运行一遍程序,看看LOG视窗中的提示都有些什么变化。【外部文件读入方式】如果刚才的数据已经事先输好,在硬盘上的“ C:USER”文件夹内存为temp.dat文件,该文件内容如下(纯文本):34 56 78 90 35 67 89 10 23 65 77 45 则我们可以输入程序如下:data temp;命名将要建立的数据集为work.

26、tempInfile c:usertemp.dat ;指定外部数据文本文件名input x y;要输入的变量为x、y,并且连续输入Run;数据步结束,以上语句可以执行了数据步以DATA 语句开始,那么在哪里结束?在遇到run 语句或另一个数据步/ 程序步时就结束了。为什么程序的最后都要加一句run ?这个问题还不太好解释,每一个程序应至少在最后有一个 run 语句,表明前面的所有语句可以提交运行了,如果没有这一句,SAS会以为你后面还有语句要输入,从而将一些非立即执行的语句保留在编译缓冲区中,等待后续命令发出后一起执行, 这有时会把事情弄得很糟。出于减少麻烦的需要,建议大家养成在每一个数据步或

27、程序步后都写上一句run 的习惯。Submit 命令和 run 语句有什么区别?这是初学者最爱问的一个问题,也同样是一个难以回答的问题。简单地讲,run 是程序语句,可在程序中多次出现,它表示前面的程序段已经全部写完,可以作为一个或几个整体提交运行了,而Submit 则是 SAS命令,只在最后程序运行的时候发出,表示将程序正式提交运行。如果你还不明白,那么我还是来给你打个比方,run 语句是你对SAS说“我想让您做的就是这些了”,而 Submit 命令就是对SAS说“现在开始为我做这些事,好吗”,明白了吗?【读入其他格式的数据文件】除了以上的两种通过数据步创建数据集的方法,SAS还提供了一些其

28、他的方式可以用来读入其他格式的数据文件。6.11 版本以上的SAS 可以利用 FILE 菜单上的import 命令将其他格式的数据文件导入SAS系统, 创建 SAS自己的数据集。 可以导入的数据文件格式有:dBase数据库, EXCEL工作表, LOTUS 的数据库, 纯文本的数据文件等。导入的操作完全是对话式的,界面友好,简便实用。以下简单叙述导入的步骤,假如例1.1的数据输成一个dBASEIII 数据库文件temp.dbf, 已经存放在 c:user 下,要导入成数据集work.li1_1 。选择 FILE 菜单上的import ,弹出一个对话框,按照向导的提示进行下去。1. 选择导入的数

29、据格式,从下拉式菜单上选择DBF 格式,单击NEXT 按钮。2. 给出数据文件的位置和文件名,在对话框中键入C:USERtemp.DBF ,或点 BROWSE 直接从上面选择文件,选好后单击NEXT 按钮。3. 选择导入的目的地,即指定要创建的数据集的名字和存放的数据库名,先在左面的对话框选择数据库名WORK(临时库),在右面的对话框键入数据集的名字li1_1 ,此名可任意起,少于8 个字符,选择完后,单击FINISH 按钮,就完成了此次操作。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - -

30、- 第 7 页,共 48 页 - - - - - - - - - 本文转自网站生物谷WORD 版由 Robot 整理8 这时已经建好了一个数据集,名为WORK.li1_1 ,与我们前面建立的数据集完全一致。3.3 SAS 程序的程序步通俗的讲, SAS的程序步(有的书中也称过程或过程步)就是已经编好了的用于数据整理和统计的计算机程序,你只需要调用它们就是了。程序步总是用一个PROC 语句开始,后面紧跟着程序步名,用以区分不同的程序步。以下是一些常用的程序步的名称及功能。程序步名功 能SORT将指定的数据集按指定变量排序PRINT将数据集中的数据列表输出MEANS对指定的数值变量进行简单的统计描

31、述FREQ对指定的分类变量进行简单的统计描述TTEST对指定的变量做t 检验ANOVA对指定的变量做方差分析NPAR1WAY对指定的变量做非参数检验REG对指定的变量做回归分析CORR对指定的变量做相关分析CHART绘出低分辨率的统计图PROC就是程序( procedure )的缩写,而程序步的名字大都是其功能相对应的单词或词组的缩写。可见 SAS的许多功能就是通过程序步来体现的,可如此多的种类也使我们难以总结出一个程序步的通式来。不过仍可大致给出如下结构:PROC过程名DATA=数据集名 选项 ;该过程的专用语句描述; VAR 变量序列 ; WHERE 条件表达式 .; BY 变量序列 ;R

32、un;方括号里的语句均可以省略,在这时该过程按最通常的情况来处理,即:o处理最新建立的SAS数据集。o处理所有的变量(或对一个计算过程来说处理全部数值变量)。o一次处理整个数据集而不是某个子集。我们在第一章中用到的PRINT程序步就是采用的这种默认方式。但有时我们的要求超出了默认方式所提供的范围,这时就要动用方括号里的秘密武器了。oDATA 参数指明所需处理的数据集名,请注意在这里它是一个参数而不是语句。oVAR 语句 如果只想分析某一个或几个特定的变量,则可用 VAR 语句指定它们。例如只想显示变量x 的列表,则PRINT 过程如下:Proc print ;Var x;Run;名师资料总结

33、- - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 48 页 - - - - - - - - - 本文转自网站生物谷WORD 版由 Robot 整理9 如果想显示x 和 y 两个变量,则将VAR语句改为如下形式即可:var x y;当然,也可以将VAR语句删除,结果相同。oWhere 语句 如果你想处理的不是整个数据集而只是其中符合某种条件的子集,那么WHERE 语句将会非常有用,如上例中我们只想显示大于50 的 x变量的值,则在PRINT 过程中加入where 语句如下:Where x5

34、0;如果条件变为x、y 两个变量的值都要大于50,则 where 语句改为:where x50 and y50; SAS 语言中常用的逻辑表达符号有and(和)、 or(或)、 xor (异或)、 ne(不等)等。oBy 语句 如果你需要分组处理数据,例如要按性别分组输出统计结果,你有两种选择,一是用不同的where 语句将同一个程序步反复写几遍;另一种显然更酷 的方法就是采用by 语句。如上例我们想按不同的y 值输出 x 值,则加入 by 语句如下:By y;使用 BY语句要求数据集已经按BY语句中指定的变量排序。如果没有排序,则程序无法正确运行。可以用SORT过程 来排序,语法结构如下:P

35、ROC SORT DATA=数据集名; BY 变量名列;RUN ;3.4 结构化语句简介每一种结构化语言编写的程序都由顺序、分支、循环三种结构构成, SAS语言也不例外。在这里简要介绍一下分支和循环语句的语法。这些语句均可直接在数据步和程序步中使用,适当地使用它们可以大大简化我们的工作。3.4.1 分支(条件)语句【语法格式】语法格式如下:IF 条件THEN程序块 ;ELSE程序块;可见其语法和FOXBASE 语言十分相似, 只是前面多了THEN ,结尾没有ENDIF,可以将两者相比较来理解。其中程序块如果只有一句,则可直接写出,否则应以DO开头,以END结束。【应用实例】例 3.1 在产生数

36、据集temp 的同时为其增加变量class ,当 x50 时 class=1 ,否则 class=2 。解:程序如下:data temp;数据步开始,定义要建立的数据集为WORK 库的TEMP input x y;要输入的变量为X 和 Y,并且采用数据连续读入方式if x50 then class=1;建立新变量CLASS,如果 X50 ,则 CLASS=1 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 48 页 - - - - - - - - - 本文转自网站生物谷W

37、ORD 版由 Robot 整理10 else class=2;否则, CLASS=2 cards;数据块开始34 56 78 90 35 67 89 10 23 65 77 45数据块;数据块结束proc print;列表输出数据集中的数据,检查有无错误run;程序结束,开始运行以上程序以上程序在书写时采用了缩进格式,使程序的结构更清楚。当然大家可以左对齐写完所有的语句,但这样书写的程序在较长时难以阅读。为什么可以这样写?在这里有必要解释一下数据步的执行过程,input语句按变量顺序将数据读入内存缓冲区,直至每一个变量都有值相对应。然后数据步继续向下执行,从而其它语句可以修改内存缓冲区,如修改

38、值、增加变量等,在执行到数据步结束后,程序又回到input语句处继续执行,直到数据读完为止。现在再看看这个程序,大家可以理解它了吧!3.4.2 循环语句【语法格式】语法格式如下:DO 起始条件TO 终止条件 ;程序块 ;END;该语句主要用于建立数据集。【应用实例】例 3.2 在产生数据集temp 的同时为其增加变量class ,取值依次为1、2。解:程序如下:Data temp;数据步开始,定义要建立的数据集为WORK 库的 TEMPdo class = 1 to 2;循环开始,循环控制变量为CLASS,取值从 1 到 2input x y;要输入的变量为X 和 Y,并且采用数据连续读入方式

39、output;用 OUTPUT 语句将循环控制变量写入数据集中end;循环结束cards;数据块开始34 56 78 90 35 67 89 10 23 65 77 45数据块;数据块结束run;程序结束,开始运行以上程序注意在数据步中,我们不需要用语句改变循环变量的大小,系统会自动改变。现在, SAS语言的基本知识算是介绍完了。在理论上,你现在可以坐在计算机前,独立编写程序以做出你的统计作业或者是向SAS公司发射核导弹。但为了使你能尽可能地少走弯路(我指的是做统计作业而不是后者),在以后的各章中我们将重点介绍一些常用的程序步,并且在必要的时候介绍一些较为深入的内容。Are you ready

40、? Lets go!第四章统计图统计图是统计描述的重要工具,它可以直观的反映出事物间的数量关系。因此,许多统计软件均提供了强大的统计做图功能。SAS 的许多程序步,如Univariate过程等,也附有相应的绘图功能,这些我们拟在相关章节中讲述。本章将向大家介绍两个专门用于绘图的程序名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 48 页 - - - - - - - - - 本文转自网站生物谷WORD 版由 Robot 整理11 步 GCHART 过程和 GPLOT 过程

41、。前者用于绘制各种常用的统计图,而后者则用于绘制散点图。在早期的 DOS 版本中, SAS只提供低分辨率图形(即用键盘字符模拟输出的图形)。而在WINDOWS 时代,美观漂亮也成为了软件最重要的性能指标之一,因此SAS公司推出了高分辨率图形。虽然比起EXCEL 等软件来,它的高分辨率图形仍然不那么令人满意,但至少已经跟上了时代的潮流。高分辨率图形在专门的GRAPH 视窗中输出, 而低分辨率图形在OUTPUT 视窗中一同输出。只要将绘图过程名中的字母G 去掉,做出的就是低分辨率图形,你可以比较一下两种图形的“天壤之别”。4.1 GCHART过程Gchart 过程可以绘制水平/ 竖直条图(直方图)

42、、立体直方图、饼图和星状图。我们可以用这些图来了解单个变量的分布或者多个变量之间的关系。4.1.1 语法格式PROC GCHART DATA= 选项 ;指定要分析的数据集名及一些选项HBAR / 选项 ;绘出条形图VBAR / 选项 ;绘出水平条形图BLOC K / 选项 ;绘出三维直方图PIE / 选项 ;绘出饼图STAR / 选项 ;绘出星状图AXISn 选项 ;控制坐标轴的形状和颜色BY ;按该变量取值分层绘制,要求数据集已按该变量排序方括号中的为可选项,如果不写, 系统会以默认值代替或者忽略该功能;而尖括号中的为必选项,表示如果写了该语句,则必须提供尖括号中的信息,否则可能出错。如 D

43、ATA= ,表示你可以不写这一项,此时系统默认处理的是最新建立的数据集;而如果写了 DATA= 这一项,你就必须指定一个数据集名,不然 SAS跟你没完。4.1.2 语法说明事实上, 绘图程序步中的选项极为繁杂,如果合理地使用这些选项可以做出非常漂亮的统计图来。但这些选项也给大家的学习带来很大的不便,因此在这里我们只简要介绍几个常用的绘图语句中的选项。【绘图语句选项】MISSING 指定绘图时要将变量的缺失值也包括在内。TYPE= 做图类型关键字指定要做图的类型,即图中条块代表的含义:缺省值是频数( FREQ );如果指定了选择项SUMVAR ,则缺省值为总和(SUM)。可选的关键字有:FREQ

44、 要求按指定变量的频数做图。PERCENT 要求按在横轴刻度表示范围内出现的频数占总数的百分比做图。CFREQ 按累计频数做图。CPERCENT 按累计百分比做图。SUM 只能与 SUMVAR 选项同时使用,要求图中的每一条代表:变量在横轴表示的取值范围内时,SUMVAR 指定变量的总和。MEAN 只能与 SUMVAR 选项同时使用,要求图中的每一条代表:变量在横轴表示的取值范围内时,SUMVAR 指定变量的均数。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 48 页

45、 - - - - - - - - - 本文转自网站生物谷WORD 版由 Robot 整理12 SUMVAR= 求和变量指定使用 TYPE=SUM或 MEAN 时,用于求总和、 均值的变量。LEVAL=n 如果绘图变量是连续变量,用该选项产生有N 个组段的图形。GROUP= 分组变量要求产生以分组变量的值分组的并排图。SUBGROUP= 亚组变量要求每个图形内部再按亚组变量的值分块。CAXIS= 颜色 指定坐标轴的颜色。CTEXT= 颜色指定坐标轴文本的颜色。4.1.3 应用实例例 4.1 绘制卫生统计学第三版习题1.1的直方图,数据存在c:userwt1_1.dat中。解:程序如下:libna

46、me a c:user; 指定 c:user 文件夹为数据库adata a.wt1_1;数据步开始,指定要建立的数据集为a 库的 wt1_1infile c:userwt1_1.dat;采用外部文件读入方式,文件名为c:userWT1_1.datinput x ; 输入的变量为x,采用连续输入的格式proc gchart data=a.wt1_1;调用绘图程序步gchartvbar x / levels=10;绘出直方图,用于绘图的变量为x,分为 10 组run; 开始运行以上程序事实上 ASSIST视窗的输出图形是彩色的,和我们用程序做出的有些区别,这是因为ASSIST视窗自动提交了一些绘图

47、环境语句,对输出图形作了修饰的缘故。实际上 libname 语句只需要运行一次就可以了,但在开始的几道例题里我们都写上了这一句,让大家逐步养成启动SAS后就运行这一句的习惯。请将C:USER 文件夹指定为A 库,以后我们实习的数据集均放在该库中。4.2 GPLOT过程GPLOT 过程用于绘出散点图。图中的横、纵坐标分别代表两个变量。4.2.1 语法格式PROC GPLOT DATA= 选项 ;PLOT / 选项;指定绘图变量和选项PLOT2 / 选项 ;在原图基础上重叠绘制第二幅散点图SYMBOLn 选项 定义符号、添加趋势线、定义点和线的颜色BY ;按该变量取值分层绘制,要求数据集已按该变量

48、排序实际上, SYMBOL 语句中定义的选项为系统环境控制选项,这意味着一次定义,终生使用。除非重新定义,否则以后的输出图形都将会是第一个图形的“孪生兄弟”。在这里 SYMBOL 后面紧跟了一个n,表示任意自然数。因为PLOT 语句可以在同一坐标系内重叠绘制许多层图,而这个数字就表示SYMBOL 语句是控制的哪一层图。4.2.2 语法说明名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 48 页 - - - - - - - - - 本文转自网站生物谷WORD 版由 Rob

49、ot 整理13 【GPLOT过程的选项】UNIFORM 要求用 BY 语句分组打印的散点图的坐标刻度相同,便于比较。VTOH= 数值指定纵横坐标的比例。【PLOT 语句说明】分层变量表示所做的散点图按指定变量的取值分层,默认按不同颜色来区分。语句选项OVERLAY 同一语句做的图重叠在同一个坐标系中显示。HAXIS= 数值定义横坐标的刻度。VAXIS= 数值定义纵坐标的刻度。CAXIS= 颜色 定义坐标轴的颜色。CTEXT= 颜色定义坐标轴文本的颜色。【SYMBOL 语句选项】VALUE= 符号 可用的符号及相应名称有: PLUS STAR SQUAREDIAMOND TRIANGLE I=连

50、线方式 JOIN 用直线连接。 SPLINE 用光滑的曲线连接。1.NEEDLE 向横坐标画垂线。2.RL 添加回归直线。WIDTH= 宽度 定义数据点和连线的宽度。COLOR= 颜色 定义数据点和连线的颜色。4.2.3 应用实例例 4.2 10 名 20 岁男青年身高 (cm)与前臂长 (cm)如下,请绘出散点图(卫统p236 5.2 题)。身 高 170 1731 601551 731681781831801 65前臂长45 42 44 41 47 50 47 46 49 43解:程序如下(注意程序中对输出图形作了些修饰)。Libname a c:user ; 指定 c:user 文件夹为

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁