logo资料库

sas简明版教程.pdf

第1页 / 共117页
第2页 / 共117页
第3页 / 共117页
第4页 / 共117页
第5页 / 共117页
第6页 / 共117页
第7页 / 共117页
第8页 / 共117页
资料共117页,剩余部分请下载后查看
第一章[概述].pdf
第二章[SAS编程基础].pdf
_NUMERIC _
第三章[建立数据集].pdf
第四章[分支与循环].pdf
第五章[SAS文件操作].pdf
第六章[SAS过程中常用语句].pdf
Y F 6.4
F 20 10
第七章[SAS服务过程].pdf
第八章[描述性统计过程].pdf
Yes
VARDEF=WEIGHT|WGT
DESCENDING 选择项指定反向编秩,数据从大到小按降序排列,最大值秩次为1,次大值秩次为2,等等。不指定此选择项,系统指定按升序排列取秩。
第九章[t检验和方差分析].pdf
X
第十章[相关与回归].pdf
第一章 概述 第一节 SAS系统介绍 1.1.1 什么是SAS SAS(Statistical Analysis System)是一个用来管理分析数据和 编写报告的组合软件系统。其基本部分是SAS/BASE 软件。在基本 SAS软件的基础上,可以加上统计SAS/STAT、图形SAS/GRAPH、 预测SAS/OR、规划管理和与其它数据库的接口等工具软件得到一 个总系统,SAS系统可以以批处理或交互方式及非交互方式运行。 用 SAS系 统 处 理 数 据 时 ,数 据 必 须 在 SAS数 据 集 中 才 能 使 用 SAS过 程 去 分 析 它 们 。 1.1.2 SAS系统发展概况 为了统计方面的需要,1966年,美国North Carolina州立大学 开始开发SAS统计软件包。1976年,SAS研究所成立,开始进行SAS 的维护、开发、销售和教育工作。当时,SAS只能运行在 大 型 机 上 , 1985年 开 始 推 出 能 运 行 在 VAx机 上 和 在 IBM PC/ XT及 其 兼 容 机 上 的 SAS版 本 。由 于SAS语言功 能 日益 强 大 ,在 国 外 已 越 来 越 多 地 将 它 作 为 数 据 管 理 之 用 。 在世界各地,SAS用户非常多,约有两万台各型计算机安装有 SAS软件,用户约75万人。世界上有一SAS协会SUGI(SAS User Group International),每年都要开会对该软件的使用进行交流和研究。 SAS研究所每年都在改进SAS系统。目前,SAS系统已经被完善成 一种第四代高级编程语言。 我国近几年来在医学、农学、社会科学等领域正越来越广泛 地使用SAS去处理科研数据,进行 商 业分析 、人口 分析等 。随着 SAS的普及,今后将会在管理决策方面得到广泛应用。 1.1.3 SAS系统的特点 1.信息存储简单 SAS系统能读任何形式的数据值,然后在SAS数据步中对数据 进行组织和整理。数据集中的数据包含了数据值和对它的描述。 SAS数据集(库)的这种特殊结构使对数据集的维护减到最小。 2.语言编程能力强 SAS语言的语句功能强,SAS有100多种函数,有各种算术和 逻辑操作符,可以使用赋值语 句 、 条 件 语 句 、 数 组 和 循 环 语 句 等 对 变 量 进 行 各 种 操 作 。 SAS程 序 书 写 自 由 简 洁 。
3.对数据连续处理 SAS软件能从几个数据集中组合变量值和观测值、建子集、连 接、合并和修改数据集。同时能处理多个输入文件。 SAS可 以 对 信 息 连 续 处 理 。 可 存 储 一 个 会 话 的 结 果 或 中 间 结 果 以 便 以 后 使 用 。 4.统计分析方法丰富,使用简单 SAS是一个出色的统计分析系统,它汇集了大量的统计分析方 法,从简单的概述统计到复杂的多变量分析,编制了大量的使用简 便的统计分析过程。 5.报表输出能力强 几乎每种SAS过程都以漂亮清晰的格式输出结果,SAS用户也 能以任何形式设计产生打印报告,包括在磁盘上输出文件。 6.宏功能 SAS有较dBASE等微机数据库语言更强的宏代换功能。如果你 需要多次做类似的工作,其中仅是参数不同,则可以使用宏功能 定义宏体,在宏体中可以使用宏变量。随后你就可以使用不同的参 数调入宏体,从而大大简化了程序的编写。 7. SAS过程选单系统 为使每一过程不论对初学者还是经验丰富的程序员都容易使 用,SAS设计了过程选单系统。这个系统是由填空画面组成,按照画 面上的句法,用户能够学习如何去使用这个过程。用户可不必记住他 们调用某一过程时需要用的各种选择项。 1.1.4 SAS数据处理技术参数 由于SAS系统在处理数据过程中与磁盘在不断交换数据,因此 可以处理大样本多变量的数据。样本数由磁盘空间所决定;数据处 理精度达小数点后11位;具有14种数据的输出、输入格式。 SAS系统运行时要同时打开几十个文件,因此在微机上应该在 系统配置文件CONFIG.SYS中指出FIIES=50。 第二节 SAS系统使用方法 1 . 2 . 1 S A S 系 统 的 启 动 和 退 出 SAS软件有租期限制,只有机器时间在软件有效期内才能启 动SAS。 SAS 显 示 管 理 系 统 的 三 个 主 要 窗 口 是 :程 序 编 辑 (PROGRAM EDITOR)窗 口 ,在 此 你 能 送 入 和编辑 SAS 语句。注意程序不要写
在行号上;日志(LOG)窗口,随着 SAS 语句的执行,显示出 SAS 系统的信息和已执行的语句;输出(OUTPUT)窗口,在这里显示由 SAS 过程所输出的结果。 还 有 一 些 特 殊 用 途 的 窗 口 ,由 显 示 管 理 程 序 的 全 局 命 令 来 调 用 。 点击相应的窗口,可以在显示管理系统的各窗口之向任意移 动 为当前作用窗口。在任何一个窗口的命令行上,可以打入显 示管理系统的命令,然后按ENTER键 发 送 这 个 命 令 , 或 者 可 按 一 个 已 被 定 义 了 能 去 执 行 这 个 命 令 的 功 能 键 。 1.2.2 SAS程序结构 在 SAS系 统 中 , 对 数 据 的 处 理 大 体 上 分 成 两 步 , 一 是 将 数 据 读 入 SAS系 统 建 起 SAS数 据 集,称为数据步;一是调用各种已编 好的过程处理和分析数据集中的数据,称为过程步。每一数据 步 都 是 以 DATA语 句 开 始 , 以 RUN语 句 结 束 ; 而 过 程 步 则 是 以 PROC语 句 开 始 , 以 RUN 语句结束。例如: DATA EX1; A=5; B=7*A; RUN; PROC PRINT; RUN; 注意每个语句的后面都要用“;”结束。 在一次会话中,当有多个数据步或多个过程步或数据步与过 程 步 混 合 时 , 由 于 后 一 个 DATA或 PROC语 句 起 到 前 一 步 的 RUN语 句 的 作 用 ,故 两 步 中 间 的 RUN语 句 常 可 省 略 。但 最后一步的后面 必须要有RUN语句.否则后一步将不能运行。 1.2.3 SAS程序的输入、修改和运行 1.程序输入 可 以 使 用 大 写 或 小 写 字 母 , 或 大 小 写 字 母 混 合 输 入 SAS语 句 , 语 句 中 每 个 单 词 或 数 据 项 空 格 间 隔 。 每 行 输 入 完 后 按 RETURN键 ,则 光 标 移 到 下 一 行 的 开 始 处 。在 程 序 输 入 过 可以上 下左右移动光标去作必要的修改。 SAS语 句 书 写 格 式 自 由 ,可 在 备 行 的 任 何 位 置 开 始 写 程 序 。 一 个 语句 可 以连 续 写在 几 个也 可 以 一 行 写 几 个 语 句 。每 个 语 句 的 后 面 要 用 “ ; ” 号 结 束 。 例 如 : INPUT A B C D E F; CARDS语 句 指 示 下 面 就 是 数 据 。在 CARDS语 句 后 的 数 据 直 到 数 据 结 束 之 前 都 不 能 有’ ; ’号 。 数据后一般用一空语句(仅 有“;”)表示数据结。
2.发送程序 当 程 序 被 正 确 输 入 后 , 在 命 令 行 上 打 入 SUBMIT 。 再 按 ENTER 键 , 或 在 PC 机 上 按 相 应 功 能 键 向 SAS 系 统 发 送 这 些 语 句 。 3.运行信息 程 序 执 行 情 况 及 某 些 运 行 结 果 会 在 LOG窗 口 记 录 下 来 ,你 应 注 意 观 察 LOG窗 口 中 的 信 息,以确信程序是否被正确执行。 如 果 在 发 送 SAS语 句 后 , LOG窗 口 显 示 出 错 信 息 , 将 光 标 移 至 此窗口,用PgUp和PgDn键翻页,观察错误信息,找到错误所在。 如 果 一个 语 句后 面 忘记 使 用分 号 , 则 由 于 SAS继 续 读 下 一 语 句 而 无 法 解 释 该 语 句 , 从 而 给 出 错 误 信 息 。 但 此 信 息 往 往 不 一 是 指 出 丢 失 了 分 号 ,所 以 当 看到 错 误 信 息 时 应 先 检 查 一 下 前 面 的 几 个 语 句 是 否 没 有 用 分 号 结 尾。此时,必须调回已发送的程序, 修改并重新运行这个程序步。 4.调回已发送的程序 在 程 序 编 辑 窗 口 , 用RECALL命 令 调回前面发送的程序。改 正错误,然后重新发送这些语句。 5.程序的输出 在OUTPUT窗口输出程序运行结果。
第二章 SAS 编程基础 第一节 常量、变量与观测值 2.1.1 观测值 描述单一整体,如个别人、一个实验动物、一年、一个地区某 些特性的一系列数据值称为观测值,又称观察。 2.1.2 变量 给定特性的数据值的集合组成了变量。在SAS数据集中,每一 个观测值是由各个变量的数据值组成。在数据集中每一列数据是一 个变量。 1.命名 SAS变量名和其他名称如数据集名等的命名规则都相同,它 可以多至8个字符长,第一个字符必须是字母(A,B,C,….,Z), 或者是下划线(_),后面的字符可以是数字或下划线。空格不能出现 在SAS名中,特殊字符(如$,@,#)也不允许在SAS名中使用。SAS 系统保留了一 定 的 名 称 作 为 特 殊 的 变 量 名 ,这 些 名 称 以 下 划 线 开 始 和 结 尾 。 如 _N_和 _ERROR_等 。 2.变量特性 SAS变量有两种类型,数值型和字符型。字符型变量在名后用一 “$”号来表示。除了他们的 类 型 外 ,S A S 变 量 还 有 下 列 特 性 : 长 度 、 输 入 格 式 、 输 出 格 式 和 标 记 。 变量的长度特性,是指在SAS数据集中用以存储它的每一个 值的字节数。缺省长度是8(为了存储长度与缺省值不同的变量,需 使用LENGTH语句)。 变量的特性,或者明确地说明,或者在它们首次出现时的上 下文中给出定义。例如: DATA A; C='BAD'; PUT C; C='GOOD'; PUT C; RUN; C在第一次出现时已被定义成字符型变量,长度为3,因此 第二次再向c中赋值GOOD时,由于c已被定义成长度为3,故c中只存 有‘GOO’。 PUT语句的作用是把变量的值输出到LOG窗口。 变量的其他特性将在后面逐渐介绍。 3.变量清单的简化表示 在SAS程序中定义了完整的变量清单后,就可以在后面许多语
句中使用缩写变量清单形式。 名称形式 形如:X1,X2,…Xn的带 有序号的名称 形如 X P A * 的名称范 围 特殊SAS名称 缩写 意义 X1-Xn 从X1到Xn的所有变量 X-A X-NUMERIC-A X-CHARACTER-A _NUMERIC _ _CHARACTER _ _ALL _ 从X到A的所有变量 从X到A的所有数值变量 从X到A的所有字符变量 所有数值变量 所有字符变量 所有变量 例 如 : INPUT NAME $ VARl VAR2 VAR3 VAR4 VAR5 VAR6; 也 可 以 写 成 : INPUT NAME $ VARl一VAR6; 注 意 字 符 型 变 量NAME 不 包 含 在 这 个 缩 写 清 单 中 , 有 序 号 的 变 量 不 必 全 部 列 出 ,这 些 变 量 要 求 类 型 相 同 ,或 全 是 数 值 型 的 或 全 是 字 符 型 的 。 4. 缺 项 值 当 一 个 变 量 由 于 某 种 原 因 没 有 得 到 (可 能 没 有 观 测 到 , 或 由 于 数 据 错 误 ;或 由 于 计 算 错 误 ), 称 该 值 为 缺 项 值 (又 称 缺 失 值 ). 在 SAS中 用 “ . ” 表 示 。 2.1.3 常 量 SAS常量是一个数,或一个括在引号中的字符串,或者是一 个指示固定值的特殊的标记。 S A S 常 用 3 种 常 量 : 数 值 , 字 符 , 日 期 , 时 间 或 日 期 时 间 值 。 常 量 可 被 用 于 赋 值 、求 和 、IF、SELECT、RETAIN,PUT和 ERROR 语 句 中 , 或 作 为 特 定 过 程的可选项的值。 1.数值常量 数 值 常 量 可 为 正 负 整 数 和 小 数 , 对 于 过 大 和 过 小 的 数 则 用 科 学 记 数 法 表 示 。 如 : 1 . 7 8 5 E - 9 即 1 . 7 8 5 * 1 0 - 9 , 对 于 数 值 型 量 的 缺 项 值 用 “ . ” 来 表 示 。 2.字符常量 一 个 字 符 常 量 可 由 1 至 200 个 字 符 组 成 。 例 如 : 姓 名 Zhangli,性 别 Male等 。 字 符 型 缺 项 值用空格来表示。
3.日期、时间和日期时间常量 用 单 引 号 括 起 日 期 时 间 值 , 后 面 接 着 用 一 个 D(DATE)、 T(TIME)或 DT(DATETIME)来表示其类型。下面是几个例子: .'1JANl980'D .'9:25'T .'9:25:19'T .'18JAN80:9:27:05'DT 为了将日期、时间或日期时间值赋给变量,应指出变量的 输入格式或输出格式:TIME.、DATE. 、和DATETIME.。 第二节 SAS函数 SAS函数是一个程序,它对一个或多个参数进行计算后返回一 个值。每一个SAS函数有一个关键字名,为了调用一个函数,写出函 数名接着是括在括号中的一个或多个要进行计算的参数: 函数名(参数,参数) 当 参 数 多 于 一 个 时 , 参 数 之 间 应 该 用 逗 号 分 隔 , 也 可 写 成 如 下 两 种 形 式 之 一 : 函数(OF 变量1-变量n) 函数(OF 变量1 变量2 变量3) 例如下列形式是正确的: SUM(OF X1一X100 Yl—Y100) SUM(OF X Y Z) SUM(X1,X2,X3,X4) 2.2.1 算术函数 ABS(x) 返回x的绝对值 DIM(array) 返回数组中元素个数 M A X ( X , Y , …) 返 回 X , Y … . 中 的 最 大 值 MIN(X , Y… . ) 返 回 X , Y… . 中 的 最 小 值 MOD(X,Y) 计算x/y的余项 SIGN(x) 返回参数x的符号或O SQRT(x) 计算x的平方根 还有LBOUND和HBOUND等函数。 2.2.2 数学函数 EXP(x) e的幂 LOG(x) 产生自然对数
LOG2(x) 计算底为2的对数 LOG10(x) 计算底为10的常用对数 D I G A M M A ( x ) 计 算 G A M M A 函 数 对 数 的 导 数 还 有 E R F 、 E R F C 、 G A M M A 、 L G A M M A 等 函 数 。 2.2.3 三角函数和双曲函数 COS(x) 计算余弦 SIN(x) 计算正弦 TAN(x) 计算正切 还有ARCOS、.ARSIN、ARTAN、COSH、SINH、TANH等函数。 2.2.4 概率函数 PROBBNML(p, n, f) 二 项 式(BINOMIAL)概 率 分 布 函 数 ; PROBCHI(x,df) 卡方概率分布函数 PROBF(x,ndf,ddf) F分布函数 PROBNORM(x) 标准常规概率分布函数 PROBT(p) STUDENT'S T分布函数 还有POISSON,PROBBETA、PROBGAM、PROHYPR、PROBNEGB等函 数。 2.2.5 分位数函数 CINV(p,df,nc) 卡方分布分位数 FINV(p,ndf,ddf,nc) F分布分位数 TINV(p,df,nc) T分布分位数 还有BETAINV、GAMINV、PROBIT等函数。 2.2.6 样本统计函数 MEAN(x,y...) 计算算术均值 STD(x,y,...) 计算标准差 SUM(x,y,...) 计算参数和 VAR(x,y,….) 计算方差 还有CSS、CV、KURTOSIS,MAX,MIN,N,NMISS,RANGE、SKEWNESS、 STDERR,USS等函数。 2.2.7 随机函数 RANNOR(x) 产 生 一 正 态 偏 差 RANUNI(x) 产 生 一 均 匀 偏 差 还 有 NORMAL,RABIN,RANCAU、UNIFORM、RANEXP,RANGAM、 RANPOI、 RANTBL、 RANTRI等 函 数 。 2.2.8 字符函数 INDEX(a,b) 求字符串b在字符串a中的位置
分享到:
收藏