第一范文网 - 专业文章范例文档资料分享平台

第4章SAS软件的深入应用

来源:用户分享 时间:2025/6/4 13:36:33 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

同济大学应用数学系 第四章 SAS软件的深入应用 统计计算

第四章 SAS软件的深入应用

第一节 SAS编程概念简介

一、SAS程序的运行

我们用例子来说明在SAS显示管理系统内是如何进行程序运算的。

若要将一个外部数据文件转换成SAS数据集,首先在Editor窗口内编辑程序:

data class;

infile 'c:\\sas\\class.txt';

input name $ group $ birthday height weight english math; run;

然后在菜单栏内按SUBMIT命令(或按F3)键,或在Run选项菜单内选择submit,将程序提交给SAS系统处理。这时,LOG窗口显示出数据集建立成功及执行时有关的信息,包括错误和警告信息。要想在屏幕上查看数据,双击Explorer窗口中的Work子目录,再双击class数据集图标。

按F3提交程序以后,假如没有错误,OUTPUT窗口自动输出PROCPRINT过程步运行结果。在这儿注意,一旦数据建立以后,就不必再提交DATA步了。例如你还可再次提交PROC步,产生一个表格:

proc tabulate;

class group; table group;

run;

LOG窗口累计显示历次执行程序的信息,在OUTPUT窗口内显示出PROC TABULATE步产生的表格。执行END命令(或按F3键)回到Editor窗口。

在命令行执行MANAGER命令可以管理OUTPUT窗口的内容,在OUTPUT MANAGER窗口中有下列字命令可供选择:

S 查看所选的页。(该命令还可以用在其他窗口,例LIB,VAR等。) E 编辑所选的页。 P 打印所选的页。 D,V 删除所选的页。

F 将所选的页存到一个文件中去。

如果出现错误信息,用RECALL命令(或按F4键)调回刚提交的程序进行修改。它的一般格式为: RECALL RECALL n

n为调回最近n次提交的所有程序。 例如:在命令行输入 RECALL 3

回车以后,把三次提交的程序一起调回PGM内。RECALL命令还可以用快捷键F4或在LOCALS选项菜单内选择RECALL。在显示管理系统内还有其他的常用的命令: -

ZOOM 改变窗口的大小,也可用鼠标点一下窗口的右上方的图标。

1-1

同济大学应用数学系 第四章 SAS软件的深入应用 统计计算

CLEAR 清除窗口内的内容,也可在EDIT选项内选择Clear text项。

FILE 将PGM内的内容存入一个文件中去;也可在FILE选项内选择Save as项。 INCLUDE 将外部文件拷贝到Editor窗口,也可在FILE选项内选择Open项。 二、SAS程序

SAS程序是由用户向SAS管理器提交的要运行的一系列的过程步组成。SAS管理器再调用SAS系统合适的部分来完成程序中所定义的任务。SAS程序有两种类型的步组成。通常用来建立SAS数据集的被称为数据步。它是以DATA语句开头,以RUN语句结尾。另一种通常用来分析并处理SAS数据集,生成所需的信息,称为过程步。它是以PROC语句开头,以RUN语句结尾。当有多个数据步或过程步混在一起提交给SAS处理器处理时,DATA语句或PROC语句起到前一步的RUN语句的作用,故两步之间的RUN常可省略,但最后一步必须以RUN语句结束。程序中出现的每一个步都是独立的,彼此不能交叉,不能嵌套。 在SAS程序中每个步由一个或多个语句组成。SAS语句一般由SAS系统能识别的关键字开头,总是用分号“;”结尾。SAS语句是自由格式的,能够在任何位置开始或结尾,一条语句可以连续在一行上,几条语句可以在一行上。 三、SAS数据集

许多SAS过程和一些数据步语句处理的数据必须是SAS数据集的形式。SAS数据集是由两部分组成。一为描述性部分,包含有数据集的一般信息,例数据集名,建立数据集的时间,观察值的数目等存储信息。还包含有数据集中变量的属性,例如变量名,变量的类型,长度,输入输出格式,标记,位置等。另一个为数据值部分,它被安排成矩形状表格。每一列与数据字段相对应的是变量,变量有字符型和数值型两种变量。表格中的每一行为观察值,它对应于一行数据的记录。缺失的数值型变量值用“.”表示,缺失的字符型变量值用空格显示。

对SAS数据集名及变量命名的规则是相同的。名字的字符长度为1个~8个,必须用字母或下划线开头,中间可用任何字母、数字及下划线。

所有的数据集都有两级名字,并用句号“.”隔开。第一级为库逻辑名,它为数据集库存放的物理位置的别名,它也确定了文件是临时性的还是永久性的。SAS文件名一般的形式为:

libref.SAS-filename libref 为库逻辑名。

SAS-filename 为数据库内具体涉及到的SAS文件名。

libref缺省时,SAS系统就采用WORK库名,这数据集为临时性的,当退出SAS系统后,WORK库内的文件将消失。如果要建立永久性的文件,就必须指定一个除了WORK以外的名。SAS系统有一个永远存在的库,其名为SASUSER。假如想将文件放在你指定的位置内,可以使用LIBNAME语句。它的一般形式为:

LIBNAME libref ‘d: path’;

例:LIBNAME abc 'c:\\sas';

在提交以后即建立了库名为ABC的数据库。其物理位置在C盘ABC目录内。假如要删除定义过的库名,可使用CLEAR选项: LIBNAME abc CLEAR; 四、SAS系统的日期

SAS系统的日期值,是以1960年1月1日至读入日期之间的天数表示的,在1960年

1-2

同济大学应用数学系 第四章 SAS软件的深入应用 统计计算

以前用负数表示。日期时间常量是用单引号括起日期值,后面接一个D(DATE)、T(TIME)或DT(DATETIME)来表示其类型。例:

'17oct91'D 11612(天) '2:45:32P'T 53132(秒) '17OCT91:14:45'DT 1003329900(秒)

SAS系统日期若没有定义输入输出格式,将按SAS日期值读取或输出。 五、SAS函数

SAS函数是一个已编好的程序,它对一个或多个自变量计算以后,返回一个确定的值。一般格式为:

function—name(argumentl,argument2,?)

每个自变量之间用逗号分隔,大多数函数可接受的自变量为常量、变量、表达式、函数。例: SUM(argumentl,argument2,?) 计算自变量和。

UPCASE(argument) 将自变量转换成大写的字符串。 MDY(month,day,year) 转换成SAS日期。

YEAR(SAS-date) 将SAS日期返回到四位数的年份值。 QTR(SAS-date) 将SAS日期返回到数值为1~4的季度值。 MONTH(SAS-date) 将SAS日期返回到数值为1~12的月份值。 WEEKDAY(SAS-date) 将SAS日期返回到数值为1~7的星期值,1

代表星期日,2代表星期一,? 还有其他函数可查HELP:将光标移到HELP以后选择SAS SYSTEM HELPS,再选索引,输入function查看。 六、SAS表达式

SAS表达式由一系列运算数和操作符构成,运算数可以是变量名或常数,操作符有: (1)算术操作符

+ 加;一 减;* 乘;/ 除;** 乘方。

对一个算术操作符的运算数若为缺失值,结果也为缺失值。 (2)比较操作符

=或EQ 等于;^=或NE 不等于;>或GT 大于;

>=或GE 大于等于;<或LT 小于;<=或LE 小于等于。 IN(argumentl,argument2?) 等于列表中的某一项值。

例:X+3 1N (5,Y* 2,7)表示如果Y=6时,X=2、9、4时表达式为真;X为其他值时表达式为假。

(3)逻辑操作符 ,

&(AND) 与;| (OR) 或;^(NOT) 非。

1-3

同济大学应用数学系 第四章 SAS软件的深入应用 统计计算

(4)其他

<> 取大值;>< 取小值;|| 字符串连接。 操作符的优先级:

最高级 ** 乘方;^(NOT) 非;+、- 正、负号 第一级 <>、>< 取最大、最小 第二级 *、/ 乘、除 第三级 +、- 加、减 第四级 || 字符串连接

第五级 <、<=、^=、>=、>、=、^>、^< 第六级 &(and) 与 第七级 | (or) 或

第二节 用DATA步建立SAS数据集

要对数据进行分析,首先需将数据建立成SAS数据集,以便供PROC过程步进行处理。通常我们采用DATA步来建立和修改SAS数据集。

一、DATA步的流程

当你把写好的程序提交以后,SAS系统是分两个阶段编译程序和执行程序来执行DATA步的。在编译时,首先建立一个外部文件的数据记录的输入寄存器,然后建立当前观测值的程序数据矢量(PDV),再从PDV存储的信息中建立起数据集的描述部分。在执行阶段中,每次执行DATA步时,先将PDV中变量进行初始化,并赋予缺失值。然后执行读语句及其他语句,将PDV中的值写到SAS数据集去,程序再回到步的顶部,直到结尾。其流程图如下:

当数据发生错误时,SAS系统将对变量分配一个缺失值。在LOG窗口给出程序执行的信息。在处理每个DATA步时,SAS系统自动建立两个变量,_N_和_ERROR_,并放在PDV内。

_N_ 是DATA步执行的次数。

_ERROR_ 是执行DATA步时数据发生错误的信息。

当遇到数据错误时,_ERROR_=1。

没有数据错误时,_ERROR_=0。 ’

这些自动变量可在编程中使用,但不写到SAS数据集内,这两个变量在编程中是很有用的。

二、建立数据集使用的基本语句

1-4

搜索更多关于: 第4章SAS软件的深入应用 的文档
第4章SAS软件的深入应用.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c1usmo3a06u5kaxd90sde_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top