admin 管理员组

文章数量: 1184232


2024年1月19日发(作者:金石滩旅游攻略)

SAS

常用函数汇总

、数学函数

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)查找si在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(intervalfrom,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,dfv,nc>)自由度为df的t分布函数。可选参数nc为非中心参数。

PROBCHI(x,dfv,nc>)自由度为df的卡方分布函数。可选参数 nc为非中心参数。

PROBF(x, ndf,ddfv, 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 v,nc>)自由度为df的t分布的左侧p分位数。可选参数nc为非中心参 数。

CINV(p,dfv,nc>)自由度为df的卡方分布的左侧p分位数。可选参数nc为非中心参 数。

FINV(p,ndf,ddfv,nc>) F(ndf,ddf)分布的左侧p分位数。可选参数nc为非中心参数。

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

BETAINV(pab)参数为(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)),贝U Y为位置参数为 alpha,尺度参数 为beta的极值分布。若 Y=FLOOR(-RANEXP(seed)/LOG(p)),那么Y是具有参数p 的几何分布变量。

4.伽马分布随机数

RANGAM(seed, alpha),seed为任意数值常数,alpha>0,得到参数为alpha的伽马 分布。设X=RANGAM(seed, alpha),贝U Y=beta*X是形状参数为alpha,尺度参数 为beta的GAMMA分布随机数。如果alpha是整数,则Y=2*X是自由度为 2*alpha 的卡方分布随机数。

如果alpha是正整数,则Y=beta*X是Erlang分布随机数,为alpha个独立的均值为 beta的指数分布变量的和。

如果 丫仁RANGAM(seed,alpha) , Y2=RANGAM(seed,beta),在 Y=Y1/(Y1+Y2)是参

数为(alpha,beta)的贝塔分布随机数。

5.三角分布随机数

RANTRI(seed,h), seed为任意数值常数,0

6.柯西分布随机数

RANCAU(seed), seed为任意数值常数。产生位置参数为 0,尺度参数为1的标准 柯西分布随机数。Y=alpha+beta*RANCAU(seed)为位置参数为alpha,尺度参数为 beta的一般柯西分布随机数。

7.二项分布随机数

RANBIN(seed,n,p)产生参数为(n,p)的二项分布随机数,seed为任意数值。

8.泊松分布随机数

RANPOI(seed,lambda)产生参数为lambda>0的泊松分布随机数,seed为任意数值。

9.一般离散分布随机数

RANTBL(seed, p1,…,p生成取1, 2,…,n的概率分别为p1,…,pn的离散分 布随机数。

八、样本统计函数 样本统计函数把输入的自变量作为一组样本,计算样本统计量。其调用格式为 函数名(自变量1,自变量2,…,自变量n) ”或者 函数名(OF变量名列表) 比如SUM是求和函数,如果要求x1, x2, x3的和,可以用SUM(x1,x2,x3),也可 以用

SUM(OF x1-x3) 。这些样本统计函数只对自变量中的非缺失值进行计算,比如 求平均时把缺失值不计入内。

各样本统计函数为:

MEAN 均值

MAX 最大值

MIN 最小值

N 非缺失数据的个数

NMISS 缺失数值的个数。

SUM 求和

VAR 方差

STD 标准差

STDERR均值估计的标准误差,用 STD/SQRT(N)计算。

CV 变异系数

RANGE 极差

CSS 离差平方和

USS 平方和 SKEWNESS 偏度 KURTOSIS 峰度


本文标签: 函数 分布 参数 计算 结果