SAS函数与CALL子程序

SAS函数与CALL子程序

ID:39009925

大小:1.83 MB

页数:30页

时间:2019-06-23

SAS函数与CALL子程序_第1页
SAS函数与CALL子程序_第2页
SAS函数与CALL子程序_第3页
SAS函数与CALL子程序_第4页
SAS函数与CALL子程序_第5页
SAS函数与CALL子程序_第6页
SAS函数与CALL子程序_第7页
SAS函数与CALL子程序_第8页
SAS函数与CALL子程序_第9页
SAS函数与CALL子程序_第10页
资源描述:

《SAS函数与CALL子程序》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第3章SAS函数与CALL子程序清华大学经管学院朱世武Zhushw@sem.tsinghua.edu.cnResdat样本数据:www.resset.cnSAS论坛:www.resset.cnSAS函数定义SAS函数是一个子程序,对自变量返回一个结果值。SAS函数的形式:函数名(X1,X2,…)函数用于组合表达式可以简化编程和统计计算例3.1表达式中用函数。dataa(keep=dateydmin);/*保留date,y,d,min四个变量*/setResDat.idx000001;y=year(dat

2、e);/*函数year给出变量date年份*/d=weekday(date);/*函数weekday给出变量date在一周内的哪一天*/min=min(sum(oppr,hipr,lopr,clpr),1000);run;例3.2条件语句中使用函数。dataa;setResDat.idx000001;whereyear(date)>1996;/*Where语句中使用Year函数*run;用函数处理多变量可以简化程序例3.3用与不用SAS函数时的程序。不用SAS函数。totx=xl+x2+x3+x4+x5

3、+x6+x7+x8+x9+x10;iftotx

4、计算。自变量表示法:当函数有多个自变量时,必须用逗号分隔开。自变量名缩写方法:函数名(OF变量名1…变量名n)例3.5正确与错误的表示方法。例3.6数组元素自变量的缩写方法。arrayy{10}y1-y10;/*定义数组y{10}*/x=sum(ofy{*});z=sum(ofy1-y10);例中,两个SUM函数的表示法是等价的。函数结果通常函数的结果由其自变量的属性决定:自变量是字符时结果变量为字符;自变量是数值时结果变量为数值。PUT函数是一个例外,它不管自变量是什么类型,其结果总是字符值。根据缺省

5、规则,对大多数函数来说,数值目标变量的长度是8,字符目标变量的长度没有缺省规则。目标变量长度不用缺省规则的函数见课本表3.1。用PUT语句在LOG窗口显示函数值例3.7显示概率值和分位数。data;Y=probnorm(1.96);/*标准正态分布小于1.96的概率*/putY;q1=tinv(.95,2);/*自由度为2的t分布的0.95分位数*/q2=tinv(.95,2,3);/*自由为2,非中心参数为3的t分布的0.95分位数*/putq1=q2=;run;0.9750021049q1=2.91

6、99855804q2=13.894376071日期时间函数SAS日期和时间存贮标准是以1960年1月1日0时0分0秒为起点,然后以相应的间隔记时。如1960年1月1日9时0分,按日记的数值就是0,按小时记的数值就是9。1960年1月2日0时0分,按日记的数值就是1,按小时记就是24等。由于日期函数是一类非常重要的函数,特别是对金融数据处理和金融计算,借助日期函数可以极大提高效率。应用举例例3.8计算两个日期之间的天数。data_null_;sdate='01jan2002'd;edate='01jan2

7、003'd;actual=datdif(sdate,edate,'act/act');/*按每个月的实际天数算*/days360=datdif(sdate,edate,'30/360');/*按每个月30天计算*/putactual=days360=;run;data_null_;actual=datdif(‘01jan2002’d,‘01jan2003’d,‘act/act’);days360=datdif(‘01jan2002’d,‘01jan2003’d,‘30/360’);putactual=d

8、ays360=;run;例中,两段程序的结果一样。actual=365,days360=360.例3.10以日为单位计算当前日期的天数。data;x=date();y=today();putx=y=;run;例中,DATE()和TODAY()结果一样,都是返回当天的天数。当然,也可以用一定的日期格式表示它们。data;x=date();y=today();formatxyyymmdd10.;putx=y=;run;结果显示:x=17232y

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。