资源描述:
《用SAS进行数据分析常用函数大全》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、【编者注】SAS提供了比一般程序设计语言多几倍的标准函数可以直接用在数据步的计算中,其中包括所有语言都有的数学函数、字符串函数,还包括特有的统计分布函数、分位数函数、随机数函数、日期时间函数、财政金融函数,等等。这些函数的调用方法类似其它语言,比如求x1,x2,x3三个自变量的和可以用函数SUM(x1,x2,x3)。另外,SAS还提供了函数调用的另一种语法以便于把多个数据集变量作为函数自变量,其格式为“函数名(OF变量名列表)”,其中变量名列表可以是任何合法的变量名列表,比如x1,x2,x3的和等价地可以用SUM(OF
2、x1x2x3)或SUM(OFx1-x3)表示。注意两种写法不能混在一起,比如SUM(OFx1,x2,x3)和SUM(x1-x3)都是错的。本文章对重要的函数加以介绍,其它详见《SAS软件:BaseSAS软件使用手册》(高惠璇等编译,中国统计出版社出版)。一、数学函数ABS(x)求x的绝对值。MAX(x1,x2,…,xn)求所有自变量中的最大一个。MIN(x1,x2,…,xn)求所有自变量中的最小一个。MOD(x,y)求x除以y的余数。SQRT(x)求x的平方根。ROUND(x,eps)求x按照eps指定的精度四舍五入后
3、的结果,比如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),TA
4、N(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
5、函数,DAIRY函数,Bessel函数JBESSEL,修正的Bessel函数IBESSEL,等等。二、数组函数数组函数计算数组的维数、上下界,有利于写出可移植的程序。数组函数包括:DIM(x)求数组x第一维的元素的个数(注意当下界为1时元素个数与上界相同,否则元素个数不一定与上界相同)。DIMk(x)求数组x第k维的元素的个数。LBOUND(x)求数组x第一维的下界。HBOUND(x)求数组x第一维的上界。LBOUNDk(x)求数组x第k维的下界。HBOUNDk(x)求数组x第k维的上界。三、字符函数较重要的字符函数有
6、: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替换成字符串s
7、2后的结果。其它字符函数还有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(
8、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