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