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

SAS第三章

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

第3章 SAS编程基础 41

第3章 SAS编程基础

3.1 SAS语法基础

3.1.1 SAS常数

SAS常数用来表示固定的值,它或者是一个数字,或者是用引号引起来的字符串,或者是其他特殊记号。SAS常用以下三类常数:

一、数值常数

一个数值常数就是出现在SAS语句里的数字。其书写和用法与其他高级语言的使用基本相同,它可以包括小数点,负号及E记号等,如:

0.1 ,1.23, ?5, 1.2E3, 0.5E?5

数值常数缺失时用小数点“.”表示。

二、字符常数

字符常数是由单引号括起来的1到200个字符组成的。如语句:if name=’tom’ then do;中的’tom’是一个字符常数。

如果字符常数含有引号,此时应用双引号括起来,如name=”’tom’ s”。字符常数缺失时用空格加引号(’’)表示。

三、日期、时间和日期时间常数

为了把日期、时间或日期时间值表示为常数,在输入格式或输出格式中使用相同记法:TIME.,DATE.和DATETIME.。格式值用单引号括起来,并跟随一个D(日期),T(时间)或DT(日期时间)。

如:’1JAN1998’D, ’01JAN98’D, ’9:25’T , ’18JAN98:9:25:20’DT。

3.1.2 SAS操作符

SAS操作符是一些符号,用它们可以作比较、算术运算或逻辑运算,它有前缀和中缀

42 SAS系统与经济统计分析 之分。前缀操作符用在数值、变量或函数的前面,主要有+、?、NOT。而中缀操作符则是用在两个运算对象的中间,主要有算术操作符、比较操作符、逻辑操作符、其他操作符四类。

一、算术操作符

算术操作符表示执行一种算术运算。常用算术操作符、含义及举例见表3.1。

表3.1 SAS算术操作符、含义及举例

操作符 + ? * / ** || 符号含义 加法 减法 乘法 除法 幂运算 字符串并接 举例 Sum=x+y Diff=x-y Mult=x*y Divide=x/y Raise=x**5 Str=str1||str2 二、比较操作符

比较操作符用来建立两个量之间的一种关系,并要求SAS确定这种关系是成立或不成立。如果成立,输出的结果为1;如果不成立,结果为0。常用比较操作符、含义及举例见表3.2。

表3.2 SAS比较操作符、含义及举例

操作符 LT GT EQ LE GE NE IN 符号 < > = <= >= ^= 含义 Less Than Greater Than Equal Less equal Greater equal Not Equal in some value list 举例 if x1<5; if price>10; if dest=’lon’; if output<=1000; if cost>=1000; if x1^=5; if dest in (’lon’, ’par’); 三、逻辑操作符

逻辑操作符也称为布尔算符,在表达式里通常用来连接一系列比较式,常与IF语句结合使用。常用逻辑操作符、含义及举例见表3.3。

表3.3 SAS逻辑操作符、含义及举例

操作符 AND OR 符号 & | 意义 并且 或者 举例 if x>3 and x<8; if x<3 or x>4; 第3章 SAS编程基础 NOT ^ 非 if x^3; 43

以上SAS操作符与其他高级语言的操作符在符号、含义及运算顺序上基本是一致的,这里不在赘述。

3.1.3 SAS函数

一、SAS函数的定义和表示

SAS函数是SAS系统中编好的子程序,它对若干个参数进行计算后返回一个结果值。为了调用一个函数,先写出函数名,接着是空括号或括在括号中的若干个要进行计算的参数,其一般形式如下:

函数名( )或函数名(参数1,参数2,?)

当参数多于一个时,参数之间应该用逗号隔开,也可写成如下形式之一:

函数名(OF变量1 ? 变量N)或函数名(OF变量1 —变量N)

例如下列形式是正确的:

SUM(OF X1—X50 Y1—Y50),SUM(OF X Y Z),SUM(X1,X2,Y1,Y2)

这里SUM为求和函数。

二、SAS函数的用法

SAS函数作为表达式或表达式的一部分用于DATA步的编程语句中及一些统计过程中。如作为一个赋值语句:

TOTAL=SUM(X1,X2,X3);

作为一个表达式的一部分:IF SUM(CASH,DATA)<1000 THEN DOLL=INT(CASH);

作为一个函数,往往使程序变得非常简洁,有时甚至必须使用SAS函数来进行计算。如以下程序:

total=x1+x2+x3+x4+x5+x6+x7+x8+x9+x10; if total>y then z=total; else z=y;

可以简化为:

z=max(y,sum(of x1—x10));

1又如,计算定积分:e?????x?4?28dx的值时就必须要使用正态概率函数。

44 SAS系统与经济统计分析 三、一些常见的SAS函数

1. 数学函数

ABS(X):绝对值函数;EXP(X):指数函数;LOG(X):以e为底的对数函数;LOG10(X):以10为底的对数函数;SIGN(X):符号函数;INT(X):取整函数;MAX(X,Y,…):最大值函数;SQRT(X):平方根函数;SIN(X):正弦函数;COS(X):余弦函数;TAN(X):正切函数;ATAN(X):反正切函数。

2. 财政金融函数

COMPOUND:计算复利系数;DEPSL:用直线折旧法计算资产的折旧额;DEPSYD:用年限总和法计算资产的折旧额;DEPDB:用余额递减折旧法计算资产的折旧额;IRR:计算用百分数表示的内部收益率;NPV:计算用百分数表示的净现值;SAVING:计算定期储蓄的本金和利息。

3. 概率函数

(1)PROBNORM(x):标准正态分布函数,该函数计算服从标准正态分布的随机变量U小于给定x的概率;

1利用标准正态分布函数,可以计算定积分e??1???x?4?28dx的值。记y?x?4,则定积分: 2???e??x?4?28dx?22??32???12?e?y22dy?22?PROBNORM(?1.5)

= 0.066807×22?=0.335

(2)PROBCHI(x, df, nc):?2分布的分布函数。该函数计算服从自由度为df,非中心参数为nc的?2分布的随机变量小于给定x的概率。如果nc没有规定或取为0,那么被计算的就是中心?2分布。注意,自由度df允许是非整数。

(3)PROBF(x, ndf, ddf,nc):F分布的分布函数,该函数计算服从分子自由度为ndf,分母自由度为ddf,非中心参数为nc的F分布的随机变量小于给定值x的概率。如果nc没有规定或取为0,那么被计算的就是中心F分布。注意:自由度允许是非整数。

(4)PROBT(x, df, nc):该函数计算服从自由度为df,非中心参数为nc的T分布的随机变量小于给定x的概率。如果nc没有规定或取为0,那么被计算的就是中心T分布。注意:自由度df允许是非整数。

(5)PROBBNML(p, n, m):其中,0<=p<=1,n>=1,m>=0,这个函数给出参数为p和n的二项分布随机变量小于等于m的概率。

4. 样本统计函数

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