SAS教程讲义

  • 格式:ppt
  • 大小:3.07 MB
  • 文档页数:118

下载文档原格式

  / 50
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

从上面看出,数据集要有名字,变量要有名 字,所以SAS中对名字(数据集名、变量名、 数据库名,等等)有约定:SAS名字由英文 字母、数字、下划线组成,第一个字符必须 是字母或下划线,名字最多用8个字符,大写 字母和小写字母不区分。比如,name,abc, aBC,x1,year12,_NULL_等是合法的名字, 且abc和aBC是同一个名字,而class-1(不能 有减号)、a bit(不能有空格)、serial# (不能有特殊字符)、Documents (超长) 等不是合法的名字。
NAME
SEX
MATH
CHINESE
AVG
李明
张红艺 王思明

女 男
92
89 86
98
106 90
86.8333
88.6667 80.5000
张聪
刘颍


98
80
109
110
94.4167
85.8333
表1 数据集的逻辑形式
数据集的每一行叫做一个观测 (Observation),每列叫做一个变量 (Variable)。SAS数据集等价于关系数据库 系统中的一个表,实际上一个SAS数据集有 时也称作一个表。在数据库术语中一个观测 称作一个记录,一个变量称作一个域。在 C0401数据集中有5个观测,分别代表5个学 生的情况,而每个学生有5个数据,分别为姓 名、性别、数学成绩、语文成绩、平均分, 所以此数据集有5个变量,变量名依次为 NAME、SEX、MATH、CHINESE和AVG。
逻辑库 SAS系统将所使用的文件以库的形式组织起来,而数据 集则存放在一个库中,这个库就称为逻辑库。前面见到过的 libname命令就用于指定库标记。其一般格式为: Libname 库名称 ‘文件夹位置’ 选项; 例如 libname a 'd:\sysdata\'; data a.aaaa; input x @@; cards; 1 2 3 4 5 ; proc print; var x; run; quit; 第一行就指定d:\sysdata\为逻辑库位置,其名称为a.
SAS系统具有灵活的功能扩展接口和强大的功能模 块,在BASE SAS的基础上,还可以增加如下不同 的模块而增加不同的功能:SAS/STAT(统计分析 模块)、SAS/GRAPH(绘图模块)、SAS/QC (质量控制模块)、SAS/ETS(经济计量学和时间 序列分析模块)、SAS/OR(运筹学模块)、 SAS/IML(交互式矩阵程序设计语言模块)、 SAS/FSP(快速数据处理的交互式菜单系统模块)、 SAS/AF(交互式全屏幕软件应用系统模块)等等。 SAS有一个智能型绘图系统,不仅能绘各种统计图, 还能绘出地图。SAS提供多个统计过程,每个过程 均含有极丰富的任选项。用户还可以通过对数据集 的一连串加工,实现更为复杂的统计分析。此外, SAS还提供了各类概率分析函数、分位数函数、样 本统计函数和随机数生成函数,使用户能方便地实 现特殊统计要求。
功能 CARDS与DATALINES功能相同, 均用于标志数据块的开始
INFILE语 句 OUTPUT语 句 SET语句
从外部文件中读入数据块 将所读入的数据存放在缓存中, 也可用OUTPUT语句强制输 出一条新记录 对数据集中的数据进行编辑, 也可将指定数据集的内容复 制到新建数据集中
下面是几个例子。 Data语句: Data abc; data work.abc data sasuser.abc; data a.abc; INPUT语句: Input x y z; /*输入变量x,y,z*/ Input x1-x10; /*输入10个变量x1到x10*/ Input x$y@@; /*输入变量x,y,符号$指明x为 字符变量,@@表示数据是连续读入*/
Hale Waihona Puke Baidu
SAS系统是一个组合软件系统,它由多个功能模块 组合而成,其基本部分是BASE SAS模块。BASE SAS模块是SAS系统的核心,承担着主要的数据管 理任务,并管理用户使用环境,进行用户语言的处 理,调用其他SAS模块和产品。也就是说,SAS系 统的运行,首先必须启动BASE SAS模块,它除了 本身所具有数据管理、程序设计及描述统计计算功 能以外,还是SAS系统的中央调度室。它除可单独 存在外,也可与其他产品或模块共同构成一个完整 的系统。各模块的安装及更新都可通过其安装程序 非常方便地进行。
语句 格式 功能
DATA语句
DATA 数据集名;
数据步的开始,同时命名将要创 建的数据集
INPUT语句
INPUT 变量名<变量类型 起止列数>…;
确定变量的读入格式,即确定输 入的数据所对应的变量
语句 CARDS或 DATALI NES语句 与数据块
格式 CARDS; 数据块 ; 或 DATALINES; 数据块 ; INFILE ‘文件名’ 选 项;
二、初识SAS
安装SAS 哪位要是连软件的安装和打开都要我啰嗦的 话,我劝您还是买一套洪恩的《开天辟地》 好好热热身吧。 不过,安装SAS时,应首先将系统时间改到 2002年以前,安装完以后,再crack,然后将 时间修改还原,切记!
启动SAS
启动后,出现如图 的SAS运行界面,术语称 为"SAS工作空间(SAS Application WorkSpace)"。它象其它Windows应用程序 一样,在一个主窗口内,包含若干个子窗口, 并有菜单条、工具栏、状态栏等。 SAS有三个最重要的子窗口:程序窗口 (PROGRAM EDITOR)、运行记录窗口 (LOG)、输出窗口(OUTPUT)。 Program Editor的窗口(窗口标签为Editor) 就是用来输入SAS语句的,编程操作的所有 内容都是在该窗口内完成的,各位还是要跟 它先多熟悉一下。
SAS程序的书写规则与程序注释 前面已经提到,SAS对程序的书写格式比较灵 活,大小写一般不区分(字符串中要区分大小写), 但我们仍提倡SAS程序与其它编程语言相似,采用 缩进格式,使得源程序结构清楚,容易读懂。 SAS程序的程序注释有以下两种格式: 注释语句:以星号“*”开始,可占多行,以分 号“;”结束。~ 注释段落:用“/*”和“*/”包括起来的任何字符, 可占多行。 同样,我们提倡在程序中要有适当的注释,使 程序的可读性强。
实际上,上述程序是文本,完全可以在任何文本编 辑工具中输入,比如Windows中的记事本,甚至 Word也可用来输入这样包含中文的程序。输入后使 用复制复制、粘贴命令将输入的程序粘贴到SAS系 统程序窗口。(即在记事本中复制输入的程序,然 后在SAS系统程序窗口中使用粘贴命令,把程序复 制到SAS中)。 要运行此程序,只要用鼠标单击工具栏的提交 (Submit)图标 ,或用Run菜单下的Submit命令, 或者直接按下F8键,就可运行程序。如果选中某一 段程序,然后进行调用,则系统只执行被选中的部 分。
运行后,输出窗口出现如下结果: 0401班学生成绩排名 1 11:40 Saturday, November 10, 2004 Obs name sex math chinese avg 1 李明 男 92 98 86.8333 2 张红艺 女 89 106 88.6667 3 王思明 男 86 90 80.5000 4 张聪 男 98 109 94.4167 5 刘颍 女 80 110 85.8333 运行记录窗口则记录每段程序的运行情况、所用时间、 生成数据保存情况。如果有错误还会用红色指示错 误。
三、SAS程序的使用常识
从上面的例子程序可以看出SAS程序的一些特点。 SAS程序的基本结构 SAS程序由语句组成,语句用分号结束。语句 一般由特定的关键词开始,语句中可包含变量名、 运算符等,它们以空格分隔。SAS对语句所占的行 数无限制,一个语句可占多行,同样,多个语句也 可占一行。
SAS程序的程序组成 SAS程序可以非常复杂,但其基本结构 一般由数个完成单个动作的程序步和环境设 置语句构成。而程序步分为两种,一种叫数 据步(data step),一种叫过程步(proc step),分别以DATA语句和PROC语句开始。 数据步和过程步由若干个语句组成,一般以 RUN语句结束。前者用来创建和修改用于统 计分析的数据集,后者则利用已创建的数据 集完成特定的统计分析任务。比如下面的例 子:
三万家机构所采用,直接用户则超过三百万人,遍 及金融、医药卫生、生产、运输、通讯、政府和教 育科研等领域。在英美等国,能熟练使用SAS进行 统计分析是许多公司和科研机构选材的条件之一。 在数据处理和统计分析领域,SAS系统被誉为国际 上的标准软件系统,并在96~97年度被评选为建立 数据库的首选产品。堪称统计软件界的巨无霸。在 此仅举一例如下:在以苛刻严格著称于世的美国 FDA新药审批程序中,新药试验结果的统计分析规 定只能用SAS进行,其他软件的计算结果一律无效! 哪怕只是简单的均数和标准差也不行!由此可见 SAS的权威地位。
简单运行样例 假设我们有一个班学生的数学成绩和语文成 绩,数学满分为100,语文满分为120,希望 计算学生的平均分数(按百分制)并按此排 名,可以在程序窗口输入此程序:
title '0401班学生成绩排名'; data c0401; input name $ 1-10 sex $ math chinese; avg = math*0.5 + chinese/120*100*0.5; cards; 李明 男 92 98 张红艺 女 89 106 王思明 男 86 90 张聪 男 98 109 刘颍 女 80 110 ; run; proc print;run; proc sort data=c0401; by descending avg; run; proc print;run;
引用在逻辑库中数据集时要使用两级名 称来指定,第一级为库名称,第二级为数据 集名,中间用句点“.”隔开。即用 库名称.数据集名 的格式来引用该数据集。 仍然是上面的例子,第2~6句新建一个 数据集,数据集名称为aaaa,就可用a.aaaa来 引用该数据集。
数据步的基本结构 数据步均以DATA语句开始,用于创建和处理 数据集。数据步中常用的语句如下表: 表2 数据步的常用语句
SAS软件 功能介绍
华中科技大学同济医学院 流行病与卫生统计学系
一、概述
SAS系统全称为Statistics Analysis System,最早由北卡罗来纳大学的两位生 物统计学研究生编制,并于1976年成立了 SAS软件研究所,正式推出了SAS软件。 SAS是用于决策支持的大型集成信息系统, 但该软件系统最早的功能限于统计分析, 至今,统计分析功能也仍是它的重要组成 部分和核心功能。SAS现在的版本为9.0 版,大小约为1G。经过多年的发展,SAS 已被全世界120多个国家和地区的近
libname a 'd:\sysdata\'; data a.aaaa; input x @@; cards; 1 2 3 4 5 ; proc print; var x; run; quit; 第1句就是一个环境设置语句,其作用是设定一个逻辑库, 逻辑库名称为a, 第2~6句构成数据步,其功能是新建一个数据集,数据集名 称为aaaa,并且输入数据, 第7~9句构成过程步,其功能是将数据集aaaa中变量x的数 值在output窗口中输出。
完整例子: libname a 'd:\sysdata\';/*设定逻辑库,库名为 a*/ data a.aaaa; /*建立数据集,其名为aaaa*/ input x @@; /*输入变量x, @@表示数据是连 续读入*/ cards; /*准备输入数据*/ 1 2 3 . 5 ; /*输入数据,注意有缺失值(缺失值用单独的小 数点代表)*/
四、SAS程序的数据步
数据集(dataset)和库 SAS数据集(SAS Datasets)可以看作 由若干行和若干列组成的表格,类似于一个 矩阵,但各列可以取不同的类型值,比如整 数值、浮点值、时间值、字符串、货币值等 等。比如,前面的例子生成了一个名为 C0401的数据集,它的逻辑形式如下表:

相关主题