Wednesday, March 11, 2015

SAS常用函数介绍


SAS常用函数介绍

1. 算术函数
ABS(X)
x的绝对值
DIM<n>(X)
求数组中的元素个数,X为数组名,n为该数组的维数
DIM(X, n)
求多维数组的某一维中的元素个数,X为数组名,n为指定的维数
HBOUND<n>(X)
求数组的上界
HBOUNDXn
求多维数组中的某一维的上界,X为数组名,n为指定的维数
LBOUND<n>(X)
求数组的下界
LBOUNDXn
求多维数组中的某一维的下界,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,-10
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)
返回字符串YX中的位置,如果X不包含Y则返回0
INDEXC(X, Y1, Y2…)
返回Y1Y2等字符在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)
计算服从均数为mPOISSON分布变量值小于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)
计算分布参数为abbeta分布的第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