爱上阿南 发表于 2018-8-17 14:56:10

SAS函数汇总

SAS系统中自带了许多数学和统计学方面的标准函数,这些函数可以直接应用到数据步的运算和赋值当中。函数的调用方法非常简单,如计算y的自然对数,则表示成log(y)即可。仅介绍主要的SAS函数,其他函数可查看SAS帮助系统。(具体目录为:BaseSASSoftware|UsingBaseSASSoftware|WorkingwiththeSASLanguage|SASFunction|FunctionCategories)。以下为常见函数简介:1.数学函数在SAS系统中,数学函数主要包括三角函数、对数函数等。

函数名意义
ABS(x)求x的绝对值
MAX(x1,x2,…,xn)求x1到xn中最大的一个
MIN(x1,x2,…,xn)求x1到xn中最小的一个
MOD(x,y)求x除以y的余数
SQRT(x)求x的平方根
INT(x)求x去掉小数部分后的结果
LOG(x)求x的自然对数
LOG10(x)求x的以10为底的对数
EXP(x)指数函数
SIN(x)求x的正弦
COS(x)求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取[-1,1]
SINH(x)求x的双曲正弦
COSH(x)求x的双曲余弦
TANH(x)求x的双曲正切
ARSINH(x)求x的反双曲正弦
ARCOSH(x)求x的反双曲余弦
ARTANH(x)求x的反双曲正切
GCD返回一个或多个整数的最大公约数
LCM返回能被一组数中的每个数整除的最小倍数
ERF(x)误差函数
SIGN符号函数
2.字符函数
函数名意义
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后的结果
3.日期和时间函数在SAS系统中,日期数据以1960年1月1日为起始日,系统以距离起始日期的总天数记录实际日期。例如,1962年3月20日被存储为890,表示此日期与1960年1月1日相距890天。所以,当变量的值为日期或时间类型时,用户需指定变量的输入和输出格式。
函数名意义
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的日期部分
INTFIT返回两个日期之间的时间间隔
INTGET返回基于三个日期值或日期时间值的时间间隔
4.分布密度函数、分布函数作为统计计算语言,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及WEIBULL。在程序中调用这些函数名称时,可以只写前4个字母。除了用上述统一的格式调用外,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分布Yn的概率
PROBNEGB(p,n,m)参数为(n,p)的负二项分布Ym的概率
PROBHYPR(N,K,n,x<,r>)超几何分布的分布函数
PROBBETA(x,a,b)参数为(a,b)的Beta分布的分布函数
PROBGAM(x,a)参数为a的Gamma分布的分布函数
PROBMC计算多组均值的多重比较检验的概率值和临界值
PROBBNRM(x,y,r)标准二元正态分布的分布函数,r为相关系数
5.分位数函数分位数函数是概率分布函数的反函数。其自变量取值范围为0~1。分位数函数计算的是分布的左侧分位数。SAS提供了6种常见连续型分布的分位数函数。
形式意义
PROBIT(p)标准正态分布左侧p分位数
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的Gamma分布的左侧p分位数
BETAINV(p,a,b)参数为(a,b)的Beta分布的左侧p分位数
6.随机数函数SAS可以用来进行随机模拟,它提供了以下常见分布的伪随机数生成函数
分布类型函数形式使用条件
均匀分布UNIFORM(seed)seed必须是常数,为0,或5位、6位、7位的奇数
RANUNI(seed)seed为小于231-1的任意常数
正态分布NORMAL(seed)seed为0,或5位、6位、7位的奇数
RANNOR(seed)seed为任意数值常数
指数分布RANEXP(seed)seed为任意数值,产生参数为1的指数分布的随机数
二项分布RANBIN(seed,n,p)seed为任意数值,产生参数为(n,p)的二项分布随机数
泊松分布RANPOI(seed,lambda)seed为任意数值,产生参数为lambda>0的泊松分布随机数
7.样本统计函数样本统计函数把输入的自变量作为一组样本,计算样本统计量。其调用格式为“函数名(自变量1,自变量2,…,自变量n)”或“函数名(OF变量名列表)”。例如,SUM是求和函数,如果要求x1、x2、x3的和,可以用SUM(x1,x2,x3),也可以用SUM(OFx1-x3)。这些样本统计函数只对自变量中的非缺失值进行计算。

表达形式意义表达形式意义
MEAN均值NMISS缺失值的个数
MAX最大值SUM求和
MIN最小值VAR方差
N非缺失数据的个数STD标准差
STDERR均值估计的标准误差CV变异系数
USS平方和CSS离差平方和
SKEWNESS偏度KURTOSIS峰度

注意:数据集的存储一般是每行为一个个体的观测值,每列是个体的一个属性(变量),所以统计一般应该对列进行,而不是像这里对行进行,把各变量作为一个样本的各个观测处理。这里提供的函数主要用于进行一些自编程的计算。

页: [1]
查看完整版本: SAS函数汇总