sas学习资料:效率统计入门.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1. 数据步 IF/THEN 与 DO/END 连用 当IF/THEN语句的一个条件需要执行多条语句时,通过 DO-END实现: Do; SAS语句1;SAS 语句2;,, En d; data a5; set sas.d qnlm y2(keep=d c x1 x2); if x11000 and c=2 then do; y=2*x1; z=3*x2; en d; run; 常用函数列表 数学函数 详细语法请查阅函数速查表 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,O.O1) 结 果为 5654.57 , ROUND(5654.5654,10) 结果为 5650。 CEIL(x)求大于等于x的最小整数。当 x为整数时就是x本身,否则为x右边最近的整数。 FLOOR(x)求小于等于x的最大整数。当 x为整数时就是x本身,否则为x左边最近的整数。 INT(x)求x扔掉小数部分后的结果。 LOG(x)求x的自然对数。 LOG10(x) 求x的常用对数。 EXP(x)指数函数。 SIN(x), COS(x), TAN(x) 求x的正弦、余弦、正切函数。 字符函数 TRIM(s)返回去掉字符串 s的尾随空格的结果。 UPCASE(s)把字符串s中所有小写字母转换为大写字母后的结果。 LOWCASE(s) 把字符串s中所有大写字母转换为小写字母后的结果。 INDEX(s,s1) 查找s1在s中岀现的位置。找不到时返回 0。 SUBSTR(s,p,n) 从字符串s中的第p个字符开始抽取 n个字符长的子串 TRANWRD(s,s1,s2) 从字符串s中把所有字符串 s1替换成字符串s2后的结果。 其它字符函数还有 COMPRESS ,LEFT , LENGTH , REVERSE , RIGHT ,SCAN , TRANSLATE。 日期和时间函数 常用日期和时间函数有: 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,16Dec1997d, 3) 结果 为1998年3月1日。注意它总是返回一个周期的开始值。 INTCK(interval,from,to) 计算从日期from到日期to中间经过的interval间隔的个数,其中interval 取MONTH等。比如,INTCK(YEAR, 31Dec1996d, 1Jan1998d) 计算 1996 年 12 月 31 日到 1998年1月1日经过的年间隔的个数,结果得 2,尽管这两个日期之间实际只隔 1年。 其它日期和时间函数还有 DATE、TODAY、DATETIME、HOUR、MINUTE、SECOND 、TIME、 TIMEPART。 数据类型转化 经常需要把将变量的类型转换成其他的类型。数字型转换成字符型,使用 PUT函数从字符 型转换成数字型,使用 INPUT函数; data newlist; set newdata.maillist; zipcode = PUT(zip,z5.); run; data newlist; set newdata.maillist; zipcode = INPUT(zip,8.); run; 2. 过程步 PROC FORMAT 有时需要对某个变量进行分段对比分析或分类对比分析, 例如需要用户消费金额 Arpu值进 行分段统计各段人数,普通做法是在原数据集基础上生成一个新的标签来表示 Arpu分段,然后 再根据新的标签通过 PROC MEANS 或PROC TABULATE 进行统计。 但这样有两个弊端,一是生成新的字段或者新的数据集占用更多的存储空间,二是重新生 成字段需要花费更多的时间,

文档评论(0)

xiaozu + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档