SAS常用函数介绍
1. 算术函数
ABS(X)
|
求x的绝对值
|
DIM<n>(X)
|
求数组中的元素个数,X为数组名,n为该数组的维数
|
DIM(X, n)
|
求多维数组的某一维中的元素个数,X为数组名,n为指定的维数
|
HBOUND<n>(X)
|
求数组的上界
|
HBOUND(X,n)
|
求多维数组中的某一维的上界,X为数组名,n为指定的维数
|
LBOUND<n>(X)
|
求数组的下界
|
LBOUND(X,n)
|
求多维数组中的某一维的下界,X为数组名,n为指定的维数
|
MAX(X,Y,Z)
|
求一串数中最大的一个,例如MAX(1,2,3,4)=4
|
MIX(X,Y,Z)
|
求一串数中最小的一个,例如MAX(1,2,3,4)=1
|
MOD(X,Y)
|
求X除以Y的余数,例如MOD(9,5)=4
|
SIGN(X)
|
计算X的符号,结果为1,、-1或0
|
SQRT(X)
|
求X的平方根
|
2. 字符函数
BYTE(n)
|
返回ASCII码值为n所对应的字符
|
COLLATE(X,Y)
|
返回ASCII码起始位置为X,终止位置为Y之间所有的字符
|
COMPBL(X)
|
把字符串X中多余空格去掉,即将连续多个空格压缩为一个
|
COMPRESS(X,Y)
|
把字符串X中包含的所有字符串Y去掉
|
DEQUOTE(X)
|
去掉字符串X的引号
|
INDEX(X,Y)
|
返回字符串Y在X中的位置,如果X不包含Y则返回0
|
INDEXC(X, Y1, Y2…)
|
返回Y1、Y2等字符在X首先出现的位置,如无,则返回0
|
INDEXW(X,Y)
|
以单词的方式搜索X中是否包含Y,单词间以空格区分
|
LEFT(X)
|
去除字符串X左侧的空格,即左对齐
|
LENGTH(X)
|
返回字符串X的长度
|
LOWCASE(X)
|
将X中的字母变为小写
|
QUOTE(X)
|
给X加上一个引号
|
RANK(X)
|
给出字符X所对应的ASCII码值
|
REVERSE(X)
|
将字符串X颠倒过来
|
RIGHT(X)
|
将字符串X右对齐
|
SCAN(X, n)
|
返回字符串X中的第n个单词,单词间以空格区分
|
SOUNDEX(X)
|
将字符串X进行自动编码,以便于查找
|
SUBSTR(X, n, <long>)
|
从字符串中将n个字符后long长度的字符串抽出
|
SUBSTR(X, n, <long>)=str2
|
将字符串X中指定位置的子串替换为字符串str2
|
TRANSLATE(STRING, X, Y)
|
将字符串STRING中的Y字符替换为X字符
|
TRANSRD(STRING, X, Y)
|
将字符串中的单词X替换为单词Y,单词间以空格区分
|
TRIM(X)
|
去掉字符串X的末尾的空格
|
UPCASE(X)
|
将字符串X中的字母变为大写
|
VERIFY(STRING, X)
|
返回STRING中第一个不为X字符的位置
|
3. 数学函数
AIRY(x)
|
计算AIRY函数的值
|
DAIR(x)
|
计算DAIR函数的衍生值
|
DIGAMMA(argument)
|
计算DIGAMMA函数的值
|
ERF(argument)
|
计算偏差函数的值
|
EXP(argument)
|
指数函数
|
GAMMA(argument)
|
计算伽马函数的值
|
IBESSEL(nu, x, kode)
|
计算修正的bessel函数值
|
JBESSEL(nu, x)
|
计算bessel函数值
|
LGAMMA(argument)
|
计算伽马函数值的对数
|
LOG(argument)
|
自然对数函数
|
LOG2(argument)
|
以2为底的对数函数
|
LOG10(argument)
|
以10为底的对数函数
|
TRIGAMMA(argument)
|
计算三元的伽马函数值
|
4. 概率与密度函数
CDF(‘dist’, quantile, parm-1,…, parm-k)
|
计算累计分布函数,dist为分布名称,随后指定相关参数
|
LOGPDF(‘dist’, quantile, parm-1,…, parm-k)
|
计算概率密度函数的对数
|
LOGSDF(‘dist’, quantile, parm-1,…, parm-k)
|
计算生存函数的对数值
|
PDF|PMF(‘dist’, quantile, parm-1,…, parm-k)
|
计算概率密度函数
|
POISSON(m, n)
|
计算服从均数为m的POISSON分布变量值小于n的概率值
|
PROBBETA(x, a, b)
|
计算BETA分布的概率值
|
PROBBNML(p, n,m)
|
计算总体概率为P的二项分布在n次试验中成功次数小于等于m次的概率
|
PROBCHI(x, df<, nc>)
|
计算卡方分布的概率值
|
PROBF(x, ndf, ddf<, nc>)
|
计算F分布的概率值
|
PROBGAM(x, a)
|
计算伽马分布的概率值
|
PROBHYPR(N, K, n, x, r>)
|
计算超几何分布的概率值
|
PROBNEGB(p, n, m)
|
计算负二项分布的概率值
|
PROBBNRM(x, y, r)
|
标准的二元正态函数
|
PROBNORM(x)
|
标准的正态分布函数值
|
PROBT(x, df<, nc>)
|
计算t分布的概率值
|
SDF(‘dist’, quantile, parm-1,…, parm-k)
|
计算生存函数
|
5. 分位数函数
BETAINV(p, a, b)
|
计算分布参数为a、b的beta分布的第p百分位数
|
CINV(p, df<, nc>)
|
计算卡方分布的分位数
|
FINV(p, ndf, ddf<, nc>)
|
计算F分布的分位数
|
GAMINV(p, a)
|
计算伽马分布的分位数
|
PROBIT(p)
|
计算标准正态分布的分位数
|
TINV(p, df<, nc>)
|
计算t分布的分位数
|
6. 随机函数
NORMAL(seed)
|
计算服从正态分布的随机函数
|
RANBIN(seed, n, p)
|
计算服从二项式分布的随机函数
|
RANCAU(seed)
|
计算服从柯西分布的随机函数
|
RAND(‘dist’, parm-1,…, parm-k)
|
根据特定的分布产生随机数(尚在测试阶段)
|
RANEXP(seed)
|
产生服从指数分布的随机数
|
RANGAM(seed, a)
|
产生服从伽马分布的随机数
|
RANNOR(seed)
|
产生服从正态分布的随机数
|
RANPOI(seed, m)
|
产生服从Poisson分布的随机数
|
RANTBL(seed, p1,..pi..pn)
|
由列表的概率分布产生随机数
|
RANTRI(seed, h)
|
产生服从三角分布的随机数
|
RANUNI(seed)
|
产生服从均匀分布的随机数
|
UNIFORM(seed)
|
产生服从均匀分布的随机数
|
7. 样本统计函数
CSS(argument, argument, …)
|
计算指定数值列表的离差平方和
|
CV(argument, argument, …)
|
计算变异系数
|
KURTOSIS(argument, argument, …)
|
计算峰度系数
|
MAX(argument, argument, …)
|
计算最大值
|
MIN(argument, argument, …)
|
计算最小值
|
MEAN(argument, argument, …)
|
计算均值
|
MISSING(num exp | character expression)
|
检验数据是否含有缺失值
|
N(argument, argument, …)
|
计算样本个数,不包括缺失值
|
NMISS(argument, argument, …)
|
计算样本中缺失值个数
|
ORDINAL(count, argument, argument, …)
|
计算列表中第count个数值
|
RANGE(argument, argument, …)
|
计算全距最大值与最小值的差
|
SKEWNESS(argument, argument, …)
|
计算偏度系数
|
STD(argument, argument, …)
|
计算标准差
|
STDERR(argument, argument, …)
|
计算标准误
|
SUM(argument, argument, …)
|
计算总和
|
USS(argument, argument, …)
|
计算平方和
|
VAR(argument, argument, …)
|
计算方差
|
8. 三角函数
ARCOS(argument)
|
反余弦函数
|
ARSIN(argument)
|
反正弦函数
|
ATAN(argument)
|
反正切函数
|
COS(argument)
|
余弦函数
|
COSH(argument)
|
双曲余弦函数
|
SIN(argument)
|
正弦函数
|
SINH(argument)
|
双曲正弦函数
|
TAN(argument)
|
正切函数
|
TANH(argument)
|
双曲正弦函数
|
9. 截断函数
CEIL(argument)
|
如果当前数值和整数部分的差距在10-12以内,则直接取整数,否则取大于原值的最小整数
|
FLOOR(argument)
|
计算小于或等于自变量的最大的整数
|
FUZZ(argument)
|
如果当前数值和整数部分的差距在10-12以内则直接取整数
|
INT(argument)
|
计算自变量的整数部分
|
ROUND(argument, unit)
|
按unit给定的数量单位进行四舍五入
|
TRUNC(argument, length)
|
将数据截为特定的长度
|
10. 日期时间函数
DATDIF(sdate, edate, basis)
|
计算两个日期之间相距的天数,basis指定SAS中的时间格式
|
DATE
|
计算当月的日期作为SAS日期数据
|
DATEJUL(julian-date)
|
将Julian日期格式转换为SAS日期格式
|
DATEPART(datetime)
|
从日期时间格式的数据中抽取日期
|
DATETIME()
|
计算当前日期时间值
|
DAY(date)
|
从SAS日期值得出是几号
|
DHMS(date, hour, minute, second)
|
从日期小时分钟秒四个数值得到SAS日期时间值
|
HMS(hour, minute, second)
|
从小时分钟秒三个值计算一个SAS日期时间值
|
HOUR(<time |datetime>)
|
从SAS时间或SAS日期时间中计算小时的数值
|
INTCK(‘interval’, from, to)
|
计算给定时间段中的间隔的个数
|
INTNX(‘interval’, start-from, increment<, ‘alignment’>)
|
计算在一定时间后的SAS日期时间值
|
JULDATE(date)
|
将SAS日期格式转换为Julian日期
|
MDY(month,day,year)
|
从月日年得到一个SAS日期值
|
MINUTE(time |datetime)
|
从时间值或日期时间值中抽取分钟值
|
MONTH(date)
|
从日期中得到月份
|
QTR(date)
|
从SAS日期值得到对应的季度
|
SECOND(time | datetime)
|
从SAS时间值或SAS日期时间值中得到秒
|
TIME
|
计算当前时间
|
TIMEPART
|
从日期时间值中抽取时间值
|
TODAY
|
计算当前日期
|
WEEKDAY
|
从SAS日期值得到为星期几
|
YEAR
|
由SAS日期值得到年份
|
YRDIF
|
计算两个日期之间所差的年份
|
YYQ
|
从年份和季度产生一个SAS日期值
|
No comments:
Post a Comment