SAS学习系列06. 使用SAS函数.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
SAS学习系列06. 使用SAS函数

06. 使用SAS函数 (一)创建并定义新变量 可以在数据步中,利用赋值语句创建或重新定义新变量(列),语法: 变量名=表达式; 注:(1)表达式可以是数值或字符常量、数学表达式、函数等; (2)加减乘除幂:+ - * / **,也可以使用括号。 例1 下面数据(C:\MyRawData\Garden.dat)是番茄、南瓜、豌豆、葡萄的重量: 代码: data homegarden; infile c:\MyRawData\Garden.dat; input Name $ 1-7 Tomato Zucchini Peas Grapes; Zone = 14; Type = home; Zucchini = Zucchini * 10; Total = Tomato + Zucchini + Peas + Grapes; PerTom = (Tomato / Total) * 100; run; proc print data = homegarden; title Home Gardening Survey; run; 运行结果: 程序说明: (1)5-8行使用了5个赋值语句,第6行改写旧变量,运行结果将输出所有变量; (2)若观测值中有缺省值,相应的新变量也出现缺省值。 (二)使用SAS函数 一、SAS函数概述 SAS自带数百个函数,主要包括以下函数类: 字符/字符串函数 日期/时间函数 距离/州/邮编代码函数 数学函数 概率/描述统计/随机数函数 金融函数 宏函数 变量信息函数 函数基本调用形式(可以嵌套调用): 函数名(参数1,参数2,…); 例2南瓜雕刻比赛的数据(C:\MyRawData\pumpkin.dat)包含了参赛者的名字、年龄、雕刻的南瓜类型、报名日期、五位裁判给出的分数: 代码: data contest; infile c:\MyRawData\Pumpkin.dat; input Name $16. Age 3. +1 Type $1. +1 Date MMDDYY10. (Scr1 Scr2 Scr3 Scr4 Scr5) (4.1); AvgScore = mean(Scr1, Scr2, Scr3, Scr4, Scr5); DayEntered = day(Date); Type = upcase(Type); /* 转化为大写 */ run; proc print data = contest; title Pumpkin Carving Contest; run; 运行结果: 程序说明: 均值函数mean( )返回非缺省值参数的平均值; day( )函数返回日期值距离1961年1月1日的天数。 二、常用的数学函数 int(x) 取整(舍去小数) round(x) 取整(四舍五入) log(x) 取自然对数 log10(x) 取以10为底的对数 max(x1,x2,…) 返回最大值(忽略缺省值) min(x1,x2,…) 返回最小值(忽略缺省值) mean(x1,x2,…) 返回平均值(忽略缺省值) sum(x1,x2,…) 返回求和值(忽略缺省值) n(x1,x2,…) 返回非缺省值的个数 nmiss(x1,x2,…) 返回缺省值的个数 三、常用的日期函数 datejul(day) 将日期数值day转化为Julian日期值 today() 返回今天的日期数值 mdy(mm,dd,yy) 将月mm、日dd、年yy转化为日期数值 day(date) 返回日期数值的日 month(date) 返回日期数值的月(1-12) year(date) 返回日期数值的年 qtr(date) 返回日期数值的季(1-4) weekday(date) 返回日期数值是周几(1=星期日) yrdif(date1,date2, ‘AGE’) 计算两个日期的“年龄差” 示例:a=MDY(4,13,2000); b=MDY(8,13,2012); YRDIF(a,b,AGE); 返回 12.3342 注:(1)日期数值 = 当前日期距离1960年1月1日的天数; (2)Julian日期为当年的第多少天,例如2月1日是32. 四、常用的字符串函数 anyalnum(str, n) 返回str从n位置开始,第一次出现字母或数字的位置 示例:a=123 E St, #2 ; anyalnum (a); (默认)返回 1; anyalnum (a,10); 返回12 anyalpha(str, n) 返回str从n位置开始,第一次出现字母的位置 anydigit(str, n) 返回str从n位置开始,第一次出现数字的位置 anyspace(str, n) 返回str从n位置开始,第一次出现空格的

文档评论(0)

zsmfjy + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档