SAS常用函数大全

合集下载

SAS常用函数介绍

SAS常用函数介绍

SAS常用函数介绍
SAS常用函数介绍
SAS的功能非常强大和全面,这一点在函数上得到了极为充分的体现,SAS 8.2中共有25大类函数,功能涉及到文件管理、金触、数学计算、统计计算、字符串处理、货币转换等各个方面。

因篇幅限制,这里无法将数百种函数一一解释,只列举出饺为常用的十大类函数,关于这些函数的详细信息,以及术列出的货币转换函数、金融函数、地区以及邮政编码函数等相关信息请大家参见SAS帮助。

1.算术函数
2.字符函数
3.数学函数
4.概率与密度函数
5.分位数函数
6.随机函数
7.样本统计函数
8.三角函数
9.截断函数
10.日期时间函数。

SAS 函数

SAS 函数

CINV(p,df,nc)
其中:0=<p<=1, df>0, nc>=0
计算自由度为df,非中心参数为nc的卡方分布的
p分位数。
data;
x=cinv(0.95,2);
proc print;
run;
x=5.99
P=0.0521622862
分位数函数
1 正态分布分位数
Probit(p) 其中,0=<p<=1 计算标准正态分布的分位数,它是概率函数
probnorm的逆函数。 例:验证probit是probnorm的逆函数 data; P=probnorm(probit(0.025)); put P=; run;
使用SAS函数: least=min(sum(of x1-x10),y);
二、SAS函数自变量与结果
1 函数自变量
函数举例
自变量类型
Max(X,Y);
变量名
X=Repeat(‘—‘,20);
常数
Least=Min(sum(of x1-x10),y); 变量名和函数
Num=sum(if x1>0),(if x2>0)); 表达式
二、函数的用法
1。用于组合表达式和条件语句 data a; set ResDat.idx000001; where year(date)>1996; run;
2。用于处理多变量 不用SAS函数: totx=x1+x2+x3+x4+x5+x6+x7+x8+x9; if totx<y then least=totx; else least=y;
Probt(x,df,nc) 计算自由度为df,非中心参数为nc的t分布随机变量

SAS函数全量(齐全)

SAS函数全量(齐全)
CALL SCAN Routine Returns the position and length of the nth word from a character string.
CAT Function Does not remove leading or trailing blanks, and returns a concatenated character string.
COMPARE Function Returns the position of the leftmost character by which two strings differ, or returns 0 if there is no difference.
COMPBL Function Removes multiple blanks from a character string.
COALESCEC Function Returns the first non-missing value from a list of character arguments.
COLLATE Function Returns a character string in ASCII or EBCDIC collating sequence.
ANYSPACE Function Searches a character string for a white-space character (blank, horizontal and vertical tab, carriage return, line feed, and form feed), and returns the first position at which that character is found.

常用SAS函数简介

常用SAS函数简介

152.3 146.7
150.6 148.1
5. 截取函数简介
SAS截取函数应用举例

例5:请把STD=1.92354和CV=0.601106用 3个不同的截取函数(ceil、int、round)进行运 算,并分析这些函数的作用。
q1=2.9199855804 q2=13.894376071
利用HELP查找SAS系统提供的各种函数
Help下拉菜单
SAS 帮助 与文件
索引中键入: SAS Function
SAS函数种类


在SAS系统9.1版本,SAS函数分为二十五种类型, 分别是算术函数、截取函数、数学函数、概率 和密度函数、分位数函数、非中心函数、样本 统计函数、随机数函数、财政金融函数、日期 和时间函数、换算函数和特殊函数等。 在SAS系统6.12版本,SAS函数分为十七种类型 共有178个,SAS系统8.1版本,SAS函数分为二十 二种类型共有319个函数。
例1.2: 以日为单位计算当前日期的天数。
data; x=date (); y=today(); format x y yymmdd10.; put x= y=; run;
例1.3: 将时间值换算为以秒计数的 计算方法。
data; hms=hms (21,50,51); put hms=; x=21*60*60+50*60+51; put x=; mdy=mdy (08,18,2001); put mdy=; format mdy yymmdd10.; run;
练习1

计算以下数据表中日期值所在的年季月以及 处于某月的第几天、某周的第几天。
Date 1991-01-02 1991-01-03 1991-01-04 1991-01-05 1991-01-07 1991-01-08 1991-01-09 1991-01-10 1991-01-11 1991-01-12

SAS常用函数大全

SAS常用函数大全

引言1. 字符函数2. 日期和时间函数3. 数组函数4. 数学函数5. 样本描述统计函数6. 特殊函数7. 随机数函数8. 宏函数9. 变量信息函数10. 分布密度函数、分布函数11. 分位数函数一、字符函数1. TRIM(s):返回去掉字符串s的尾随空格的结果。

2. UPCASE(s):把字符串s中所有小写字母转换为大写字母后的结果。

3. LOWCASE(s):把字符串s中所有大写字母转换为小写字母后的结果。

4. INDEX(s,s1):查找s1在s中出现的位置。

找不到时返回0。

5. RANK(s):字符s的ASCII码值。

6. BYTE(n):第n个ASCII码值的对应字符。

7. REPEAT(s,n):字符表达式s重复n次。

8. SUBSTR(s,p,n):从字符串s中的第p个字符开始抽取n个字符长的子串9. TRANWRD(s,s1,s2):从字符串s中把所有字符串s1替换成字符串s2后的结果。

10. PROPCASE(s):把字符串s的第一个字母大写。

11. CATX(d,s1,s2):把字符串s1和字符串s2通过d(如'-')连接返回结果。

12. COMPBL(s):把字符串s中的不同长度空格变为长度为1的空格返回结果。

13. COMPRESS(s,c,m):将字符串c(默认为空格)从字符串中移除,m为对d的添加项如下:d增加数字到初始字符里(chars)。

f增加下划线和字母(A-Z,a-z)到初始字符里(chars)。

g增加图形字符到初始字符里(chars)。

k不移除初始字符(chars)而是返回这些字符。

l增加小写字母(a-z)。

n增加数字、下划线和字母(A-Z,a-z)。

p增加标点符号。

s增加空格,包括空格,水平制表符,垂直制表符,回车符,换行符和换页符u增加大写字母(A-Z)。

a增加(A-Z,a-z)到初始字符里(chars)。

14. ANYALNUM(s,start):查找字符串s中从start位置开始第一个数字或字母的位置。

2.SAS基础_表达式及函数简介

2.SAS基础_表达式及函数简介

变量类型转换
字符自动转换为数值(无法转换为数值时,取缺失值)
data; X=1; /*X为数值变量 */ Y=’10’; /*Y为字符变量 */ X=Y; /*将字符变量赋值给一个数值变量时, 自动将字符变量Y转换为数值变量 */ run; data; X=1; /*X为数值变量 */ Y=’10’; /*Y为字符变量 */ Z=X+Y; /*算术表达式中有字符变量时,自动将字符变量Y 转换为数值变量 */ run;
Slide 10
创建变量
使用赋值语句
Data a; x=1; run;/*数据集a中有个变量x,值为1,为数值型*/
使用INPUT语句
Data b; Input x $ y z; Datalines; Aaa 23 45 ; Run; /*创建三个变量,x为字符型,y、z为数值型*/
Slide 11
Slide 25
二 SAS函数的参数
参数类型 • 变量名 • 常数 • 函数
• 表达式 函数及其参数类型举例。
函数举例 Max(X,Y); X=Repeat(‘---‘, 20); Least=Min(sum(of x1-x10),y) ; 参数类型 变量名X,Y 常数 变量名和函数
SAS表达式及函数简介
Slide 1
SAS表达式
SAS表达式是由一系列算符和运算对象形成的一个指令集,它 被执行后产生一个目标值。 运算对象是SAS变量和SAS常数;算符是特殊的运算符、函数 和括号。
表达式分为简单表达式和复合表达式。 下列式子都是表达式。 X+1 3 LOG(X) LOG10(X) P/A*100 1-EXP(N/(N-1)) A=B=C STATE=‘CA’

2.SAS基础_表达式及函数简介

2.SAS基础_表达式及函数简介

3.逻辑算符:
逻辑算符也称为布尔(Boolean)算符,在表达式里通常用来连接 一系列比较式。逻辑算符包括: &(AND) 与; | (OR) 或; ^ (NOT) 非 例如,age=25 AND sex=‘男’ 或 age=25 & sex=‘男’ age=25 OR sex=‘男’
4.运算次序:
SAS表达式及函数简介
Slide 1
SAS表达式
SAS表达式是由一系列算符和运算对象形成的一个指令集,它 被执行后产生一个目标值。 运算对象是SAS变量和SAS常数;算符是特殊的运算符、函数 和括号。
表达式分为简单表达式和复合表达式。 下列式子都是表达式。 X+1 3 LOG(X) LOG10(X) P/A*100 1-EXP(N/(N-1)) A=B=C STATE=‘CA’
AGE<100
在DATA步中,为了对变量进行变换,建立新变量、条件处理、计 算新值及指定新值,都需要使用SAS表达式。
Slide 2
一、SAS常数 SAS常数用来表示固定的值,它或者是一个数字, 或者是用引号引起来的字符串、或者是其它特殊记号。 SAS使用的常数有五种类型:数值常量、字符常量、 日期、时间和日期时间常量、十六进制数值常量、十六 进制字符常量。我们主要介绍数值常量、字符常量和日 期常量。 1.数值常量: 一个数值常量就是出现在SAS语句里的数字。数值 常量可以包括小数点,负号和E记号。 例如:1 -5 1.23 1.2E23 0.1 0.5E-10。 用E表示法时,如2E4,它表示 2 10 4 ,或者20000。
前缀算符用于变量、常数、函数或者用括号括起来的表达式 。例如: +Y -25 -COS(A) -(x1+x2-100)

sas sql中 常用函数

sas sql中 常用函数

sas sql中常用函数SAS SQL中常用函数在SAS中,SQL是一种用于管理和操作关系数据库的语言。

通过使用SAS SQL,可以对数据进行查询、筛选、排序、汇总等操作,以便更好地理解数据以及满足需求。

在SAS SQL中,函数是非常重要的一部分,它们可以对数据进行处理,提取有用信息,并进行计算和转换。

本文将介绍SAS SQL中常用函数,并逐步进行详细讲解。

1. COUNT函数:COUNT函数用于统计某个列中非空值的个数。

语法如下:COUNT(column_name)其中,column_name表示要进行统计的列名。

COUNT函数返回一个表示计数结果的整数值。

2. SUM函数:SUM函数用于计算某个列的数值总和。

语法如下:SUM(column_name)其中,column_name表示要进行计算的列名。

SUM函数返回一个表示总和结果的数值。

3. AVG函数:AVG函数用于计算某个列的数值平均值。

语法如下:AVG(column_name)其中,column_name表示要进行计算的列名。

AVG函数返回一个表示平均值结果的数值。

4. MAX函数:MAX函数用于找出某个列中的最大值。

语法如下:MAX(column_name)其中,column_name表示要进行查找的列名。

MAX函数返回一个表示最大值结果的数值。

5. MIN函数:MIN函数用于找出某个列中的最小值。

语法如下:MIN(column_name)其中,column_name表示要进行查找的列名。

MIN函数返回一个表示最小值结果的数值。

6. CONCAT函数:CONCAT函数用于将多个字符串连接在一起。

语法如下:CONCAT(string1, string2, ...)其中,string1、string2等参数表示要进行连接的字符串。

CONCAT函数返回一个表示连接结果的字符串。

7. SUBSTRING函数:SUBSTRING函数用于提取某个字符串的部分内容。

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

一、数学函数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时元素个数与上界相同,否则元素个数不一定与上界相同)。

DIM k(x) 求数组x第k维的元素的个数。

LBOUND(x) 求数组x第一维的下界。

HBOUND(x) 求数组x第一维的上界。

LBOUND k(x) 求数组x第 k维的下界。

HBOUND k(x) 求数组x第 k维的上界。

三、字符函数较重要的字符函数有:TRIM(s) 返回去掉字符串s的尾随空格的结果。

UPCASE(s) 把字符串s中所有小写字母转换为大写字母后的结果。

LOWCASE(s) 把字符串s中所有大写字母转换为小写字母后的结果。

INDEX(s,s1) 查找s1在s中出现的位置。

找不到时返回0。

RANK(s) 字符s的ASCII码值。

BYTE(n) 第n个ASCII码值的对应字符。

REPEAT(s,n) 字符表达式s重复n次。

SUBSTR(s,p,n) 从字符串s中的第p个字符开始抽取n个字符长的子串TRANWRD(s,s1,s2) 从字符串s中把所有字符串s1替换成字符串s2后的结果。

其它字符函数还有 COLLATE,COMPRESS,INDEXC,LEFT,LENGTH,REVERSE,RIGHT,SCAN ,TRANSLATE,VERIFY,COMPBL,DEQUOTE,INDEXW,QUOTE,SOUNDEX,TRIMN,INDEXW。

四、日期和时间函数常用日期和时间函数有:MDY(m,d,yr) 生成yr年m月d日的SAS日期值YEAR(date) 由SAS日期值date得到年MONTH(date) 由SAS日期值date得到月DAY(date) 由SAS日期值date得到日WEEKDAY(date) 由SAS日期值date得到星期几QTR(date) 由SAS日期值date得到季度值HMS(h,m,s) 由小时h、分钟m、秒s生成SAS时间值DHMS(d,h,m,s) 由SAS日期值d、小时h、分钟m、秒s生成SAS日期时间值DATEPART(dt) 求SAS日期时间值dt的日期部分INTNX(interval,from,n) 计算从from开始经过n个in间隔后的SAS日期。

其中interval 可以取'YEAR'、'QTR'、'MONTH'、'WEEK'、'DAY'等。

比如,INTNX('MONTH', '16Dec1997'd, 3)结果为1998年3月1日。

注意它总是返回一个周期的开始值。

INTCK(interval,from,to) 计算从日期from到日期to中间经过的interval间隔的个数,其中interval取'MONTH'等。

比如,INTCK('YEAR', '31Dec1996'd, '1Jan1998'd)计算1996年12 月31日到1998年1月1日经过的年间隔的个数,结果得2,尽管这两个日期之间实际只隔1年。

其它日期和时间函数还有DATE、TODAY、DATETIME、DATEJUL、JULDATE、 HOUR、MINUTE、SECOND 、TIME、TIMEPART等。

详见《SAS系统-Base SAS软件使用手册》、《SAS系统-SAS/ETS软件使用手册》。

五、分布密度函数、分布函数作为一个统计计算语言,SAS提供了多种概率分布的有关函数。

分布密度、概率、累积分布函数等可以通过几种统一的格式调用,格式为分布函数值 = CDF(' 分布', x <, 参数表>);密度值 = PDF(' 分布', x <, 参数表>);概率值 = PMF(' 分布', x <, 参数表>);对数密度值 = LOGPDF(' 分布', x <, 参数表>);对数概率值 = LOGPMF(' 分布', x <, 参数表>);CDF计算由'分布'指定的分布的分布函数, PDF计算分布密度函数值,PMF计算离散分布的分布概率,LOGPDF为PDF的自然对数,LOGPMF为PMF的自然对数。

函数在自变量 x处计算,<, 参数表>表示可选的参数表。

分布类型取值可以为: BERNOULLI, BETA, BINOMIAL, CAUCHY, CHISQUARED, EXPONENTIAL, F, GAMMA, GEOMETRIC, HYPERGEOMETRIC, LAPLACE, LOGISTIC, LOGNORMAL, NEGBINOMIAL, NORMAL 或 GAUSSIAN, PARETO, POISSON, T, UNIFORM, WALD 或 IGAUSS, and WEIBULL。

可以只写前四个字母。

例如,PDF('NORMAL', 1.96)计算标准正态分布在1.96处的密度值(0.05844),CDF('NORMAL', 1.96)计算标准正态分布在1.96处的分布函数值(0.975)。

PMF 对连续型分布即PDF。

除了用上述统一的格式调用外,SAS还单独提供了常用的分布的密度、分布函数。

PROBNORM(x) 标准正态分布函数PROBT(x,df<,nc>) 自由度为df的t分布函数。

可选参数nc为非中心参数。

PROBCHI(x,df<,nc>) 自由度为df的卡方分布函数。

可选参数nc为非中心参数。

PROBF(x,ndf,ddf<,nc>) F(ndf,ddf)分布的分布函数。

可选参数nc为非中心参数。

PROBBNML(p,n,m) 设随机变量Y服从二项分布B(n,p),此函数计算P(Y m)。

POISSON((lambda,n) 参数为lambda的Poisson分布Y n的概率。

PROBNEGB(p,n,m) 参数为(n,p)的负二项分布Y m的概率。

PROBHYPR(N,K,n,x<,r>) 超几何分布的分布函数。

设N个产品中有K个不合格品,抽取n个样品,其中不合格品数小于等于x的概率为此函数值。

可选参数r是不匀率,缺省为1 ,r代表抽到不合格品的概率是抽到合格品概率的多少倍。

PROBBETA(x,a,b) 参数为(a,b)的Beta分布的分布函数。

PROBGAM(x,a) 参数为a的Gamma分布的分布函数。

PROBMC 计算多组均值的多重比较检验的概率值和临界值。

PROBBNRM(x,y,r) 标准二元正态分布的分布函数,r为相关系数。

六、分位数函数分位数函数是概率分布函数的反函数。

其自变量在0到1之间取值。

分位数函数计算的是分布的左侧分位数。

SAS提供了六种常见连续型分布的分位数函数。

PROBIT(p) 标准正态分布左侧p分位数。

结果在-5到5之间。

TINV(p, df <,nc>) 自由度为df的t分布的左侧p分位数。

可选参数nc为非中心参数。

CINV(p,df<,nc>) 自由度为df的卡方分布的左侧p分位数。

可选参数nc为非中心参数。

FINV(p,ndf,ddf<,nc>) F(ndf,ddf)分布的左侧p分位数。

可选参数nc为非中心参数。

GAMINV(p,a) 参数为a的伽马分布的左侧p分位数。

BETAINV(p,a,b) 参数为(a,b)的贝塔分布的左侧p分位数。

七、随机数函数SAS可以用来进行随机模拟。

它提供了常见分布的伪随机数生成函数。

1.均匀分布随机数有两个均匀分布随机数函数:UNIFORM(seed),seed必须是常数,为0,或5位、6位、 7位的奇数。

RANUNI(seed),seed为小于2**31-1的任意常数。

在同一个数据步中对同一个随机数函数的多次调用将得到不同的结果,但不同数据步中从同一种子出发将得到相同的随机数序列。

随机数种子如果取0或者负数则种子采用系统日期时间。

2.正态分布随机数有两种,NORMAL(seed),seed为0,或5位、6位、7位的奇数。

RANNOR(seed),seed为任意数值常数。

3.指数分布随机数RANEXP(seed),seed为任意数值,产生参数为1的指数分布的随机数。

参数为lambda的指数分布可以用RANEXP(seed)/lambda得到。

另外若Y=alpha-beta*LOG(RANEXP(seed)),则Y为位置参数为 alpha,尺度参数为beta的极值分布。

若Y=FLOOR(-RANEXP(seed)/LOG(p)),那么Y是具有参数p的几何分布变量。

相关文档
最新文档