SAS基础表达式及函数简介
- 格式:ppt
- 大小:342.55 KB
- 文档页数:4
很全的sas基础知识(一)5.1SAS表达式简介1.SAS常数表达式(1)数值常数如: 1.23、-5、0.5E-10。
(2)字符常数如: name1='TOME'、name2='MARY'、name3='JOHN'。
(3)日期(d)、时间(t)、日时(dt)常数如: d1='01JAN80'd、t1='9:25:19't、dt1='18JAN80:9:27:05'dt。
(4)16进制常数(略)2.SAS运算符(1)前缀算符与后缀算符前缀算符, 即正号或负号; 如: +Y; -25; -COS(30); +(X*Y); 后缀算符,即两个运算对象之间的运算符号, 如: 1+9; 4-2; 6<8。
(2)只含一个运算符的简单表达式(Ⅰ组)和含有多于一个运算符的复合表达式(Ⅱ组)Ⅰ组, 如: A+B; C-D; E*F; G/H; Ⅱ组, 如: 1-EXP(N/(N-1));100-LOG(N*(N+1));(3)操作运算的顺序求一个复合表达式的值时, 其操作运算的顺序和优先级遵从如下的规则(见表5.1): 表5.1SAS的运算符及其在运算顺序上的优先级━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━优先级组别运算符号等价表示运算符号含义之说明━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━第0 组()括号第 1 组**+-乘方, 正数, 负数^><<>NOT MIN MAX逻辑非, 最小, 最大第 2 组*/乘, 除第 3 组+-加, 减第 4 组‖或||字串连接第 5 组<<=LT LE小于, 小于等于=^=EQ NE等于, 不等于>=>GE GT大于等于, 大于IN等于一列元数中的某一个第 6 组&AND逻辑与第7 组|或|OR逻辑或━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━各组的计算顺序分别为: 第0组由内向外;其他各组均自左至右。
SAS常用函数介绍
SAS常用函数介绍
SAS的功能非常强大和全面,这一点在函数上得到了极为充分的体现,SAS 8.2中共有25大类函数,功能涉及到文件管理、金触、数学计算、统计计算、字符串处理、货币转换等各个方面。
因篇幅限制,这里无法将数百种函数一一解释,只列举出饺为常用的十大类函数,关于这些函数的详细信息,以及术列出的货币转换函数、金融函数、地区以及邮政编码函数等相关信息请大家参见SAS帮助。
1.算术函数
2.字符函数
3.数学函数
4.概率与密度函数
5.分位数函数
6.随机函数
7.样本统计函数
8.三角函数
9.截断函数
10.日期时间函数。
第一章 SAS编程操作预备知识一、SAS系统简介SAS是一个庞大的系统,它目前的版本可以在多种操作系统中运行。
当前在国内被广泛使用的最新版本是8.2版,功能很强大,我深有体会。
据说9.0版已在国外面世,已经有一些有关它的抢先报道在网络上广为流传,说它如何如何美妙,令人不禁充满期待。
SAS8.2的完整版本包含以下数十个模块。
BASE,GRAPH,ETS,FSP,AF,OR,IML,SHARE,QC,STAT,INSIGHT,ANALYST,ASSIST, CONNECT,CPE,LAB,EIS,WAREHOUSE,PC File Formats,GIS,SPECTRAVIEW,SHARE*NET, R/3,OnlineTutor: SAS Programming,MDDB Server,IT Service Vision Client, IntrNet Compute Services,Enterprise Reporter,MDDB Server common products,Enterprise Miner,AppDev Studio,Integration Technologies 等。
所谓模块,我的理解是将功能相近的程序、代码等集中起来组成相对独立的部分,就称之为模块,类似于办公软件系统office中包含的word、excel、access 等。
各模块具有相对独立的功能范围,我们常用的模块有base,graph,stat,insight,assist,analyst模块等,分别执行基本数据处理、绘图、统计分析、数据探索、可视化数据处理等功能。
其余模块我用得很少,知道得也很少,所以也就不多说了。
SAS系统的长处,体现于它的编程操作功能的无比强大。
SAS一直以来也是注重于其编程语言的发展,对于可视化方式的菜单操作投入较少,其较早的版本仅有很少的菜单操作功能,使用起来也是非常的别扭。
这很可能就是在windows 人机交互式操作系统占统治地位的今天,SAS较少被人问津的原因之一。
【BaseFunctions】SAS常⽤数学函数ABS(x): 返回x的绝对值BETA(a, b): 返回Beta函数的值。
Beta函数的数学表达式:\(\beta{\left(a,b\right)} = \int_{0}^{1} x^{a-1}(1-x)^{b-1}dx =\frac{\Gamma(a)\Gamma(b)}{\Gamma(a+b)}\)COALESCE(argument-1 <..., argument-n>): 返回参数argument-1, ..., argument-n中的第⼀个⾮缺失值CONSTANT(constant, <, parameter>): 返回⼀些常数数值。
参数constant指定常数名称,参数parameter依赖于参数constant。
DIGAMMA(argument): 返回双伽玛函数的值。
双伽玛(Digamma)函数表达式:\(\Psi(x) = \frac{\Gamma^{'}(x)}{\Gamma(x)}\)ERF(argument): 返回误差函数的值。
误差函数表达式:\(\mathbf{ERF}(x) = \frac{2}{\sqrt{\pi}}\int_{0}^{x}\epsilon^{-z^2} dz\)ERFC(argument): 返回互补误差函数的值。
互补误差函数表达式:\(\mathbf{ERFC}(x) = 1- \frac{2}{\sqrt{\pi}}\int_{0}^{x}\epsilon^{-z^2} dz\)EXP(argument): 返回指数函数的值FACT(n): 返回n的阶乘GAMMA(argument): 返回Gamma函数的值。
Gamma函数表达式:\(\Gamma(x) = \int_0^{\infty} t^{x-1}\epsilon^{-t}dt\)GCD(x1, x2, ..., xn): 返回⼀个或多个整数的最⼤公约数LCM(x1, x2, ..., xn): 返回⼀个或多个整数的最⼩公倍数LGAMMA(argument): 返回Gamma函数的值的⾃然对数。
一、数学函数ABS(x) 求x的绝对值。
MAX(x1,x2,…,xn) 求所有自变量中的最大一个。
MIN(x1,x2,…,xn) 求所有自变量中的最小一个。
MOD(x,y) 求x除以y的余数。
SQRT(x) 求x的平方根。
ROUND(x,eps) 求x按照eps指定的精度四舍五入后的结果,比如ROUND(5654.5654,0.01) 结果为5654.57,ROUND(5654.5654,10)结果为5650。
CEIL(x) 求大于等于x的最小整数。
当x为整数时就是x本身,否则为x右边最近的整数。
FLOOR(x) 求小于等于x的最大整数。
当x为整数时就是x本身,否则为x左边最近的整数。
INT(x) 求x扔掉小数部分后的结果。
FUZZ(x) 当x与其四舍五入整数值相差小于1E-12时取四舍五入。
LOG(x) 求x的自然对数。
LOG10(x) 求x的常用对数。
EXP(x) 指数函数。
SIN(x), COS(x), TAN(x) 求x的正弦、余弦、正切函数。
ARSIN(y) 计算函数y=sin(x)在区间的反函数,y取[-1,1]间值。
ARCOS(y) 计算函数y=cos(x)在的反函数,y取[-1,1]间值。
ATAN(y) 计算函数y=tan(x)在的反函数,y取间值。
SINH(x), COSH(x), TANH(x) 双曲正弦、余弦、正切ERF(x) 误差函数GAMMA(x) 完全函数此外还有符号函数SIGN,函数一阶导数函数DIGAMMA,二阶导数函数TRIGAMMA ,误差函数余函数ERFC,函数自然对数LGAMMA,ORDINAL函数,AIRY 函数,DAIRY函数,Bessel 函数JBESSEL,修正的Bessel函数IBESSEL,等等。
二、数组函数数组函数计算数组的维数、上下界,有利于写出可移植的程序。
数组函数包括:DIM(x) 求数组x第一维的元素的个数(注意当下界为1时元素个数与上界相同,否则元素个数不一定与上界相同)。