- 1、本文档共74页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
05SAS函数及其应用概论
第5章 SAS函数及其应用 清华大学经济管理学院 朱世武 zhushw@em.tsinghua.edu.cn 本章内容 SAS函数定义; SAS函数自变量与结果; SAS函数分类; 日期时间函数; 常用概率分布函数; 分位数函数; 样本统计函数; 随机数函数; SAS Call 子程序。 函数定义 SAS函数是一个子程序,对自变量返回一个结果值。 SAS函数的形式: 函数名(X1, X2, …) 函数用于组合表达式可以简化编程和统计计算 例5.1 表达式中用函数。 data a(keep=date y d clpr); /*保留date, y, d, clpr四个变量*/ set fdata.a1a0001; y=year(date); /*函数year给出变量date年份*/ d=weekday(date); /*函数weekday给出变量date在一周内的哪一天*/ Min=MIN(SUM(cash,credit),1000); run; 例5.2 条件语句中使用函数。 data a; set fdata.a1a0001; where year(date)1996; /* Where语句中使用Year函数 * run; 用函数处理多变量可以简化程序 例5.3 用与不用SAS函数时的程序。 totx=xl+x2+x3+x4+x5+x6+x7+x8+x9+x10; if totxy then least=totx; else least=y; least=min(sum(of x1-x10),y); 例中,两段程序的结果相同,第二段只有一个语句,非常简单。 函数自变量的类型 ? 变量名; ? 常数; ? 函数; ? 表达式。 例5.4 函数及其自变量类型举例。 自变量个数: 有些函数不需要自变量,有些只需要一个自变量,有些函数有多个自变量。自变量个数不能超过2000。 如果函数的自变量是表达式,在函数被调用之前,所有表达式自变量首先计算。 自变量表示法: 当函数有多个自变量时,必须用逗号分隔开。 自变量名缩写方法: 函数名(OF变量名1-变量名n); 函数名(OF变量名1…变量名n )。 例5.5 正确与错误的表示方法。 例5.6 数组元素自变量的缩写方法。 Array Y{10} Y1-Y10; /*定义数组Y{10} */ X=Sum (Of Y{*}); Z=Sum (of Y1-Y10); 例中,两个SUM函数的表示法是等价的。 函数结果 通常函数的结果由其自变量的属性决定: 自变量是字符时结果变量为字符; 自变量是数值时结果变量为数值。 PUT函数是一个例外,它不管自变量是什么类型,其结果总是字符值。 根据缺省规则,对大多数函数来说,数值目标变量的长度是8,字符目标变量的长度是200。目标变量长度不用缺省规则的函数由表5.1列出。 表5.1 目标变量长度不用缺省规则的函数 用PUT语句在LOG窗口显示函数值 例5.7 显示概率值和分位数。 data; Y=probnorm(1.96); /* 标准正态分布小于1.96的概率 */ put Y; q1=tinv(.95, 2); /*自由度为2的t分布的0.95分位数*/ q2=tinv(.95, 2, 3); /*自由为2,非中心参数为3的t分布的0.95分位数*/ put q1=; q2=; run; SAS函数分类 日期时间函数 SAS日期和时间存贮标准是以1960年1月1日0时0分0秒为起点,然后以相应的间隔记时。 由于日期函数是一类非常重要的函数,特别是对金融数据处理和金融计算,借助日期函数可以极大提高效率。 国内许多金融数据服务公司提供的数据库系统中,大都不将日期变量作为日期型设置。 日期时间函数 应用举例 例5.8 计算两个日期之间的天数。 data _null_; sdate=01jan2002d; edate=01jan2003d; actual=datdif(sdate, edate, act/act); /*按每个月的实际天数算 */ days360=datdif(sdate, edate, 30/360); /*按每个月30天计算 */ put actual= days360=; run; data _null_; actual=datdif(‘01jan2002’d, ‘01jan2003’d, ‘act/act’); days360=datdif(‘01jan2002’d, ‘01jan2003’d, ‘30/360’); put actual= days360=; run; 例中,两段程序的结果一样。actu
您可能关注的文档
- 基础写作课件讲解.ppt
- 04项目范围管理概论.ppt
- 04股票交易过程(修订版)概论.ppt
- 04第四章病毒和亚病毒概论.ppt
- 05-06第一学期期中生物概论.doc
- 04肉品质量概论.ppt
- 04第四章铁碳合金(NXPowerLite)概论.ppt
- 05-Linux系统管理-文件编辑器VI的使用-v1.0概论.ppt
- 05-SQLServer-管理数据库-zff概论.ppt
- 04第四章金属的塑性变形与再结晶概论.ppt
- 第08讲 伴性遗传和人类遗传病(上课课件)-2025年高考生物二轮复习(新高考通用).pptx
- 液压钻机销售合同协议.docx
- 第08讲 伴性遗传和人类遗传病(讲义)-2025年高考生物二轮复习(新高考通用) (解析版).docx
- 5.2化学方程式:利用化学方程式的简单计算说课稿 ---2024--2025学年九年级化学人教版(2024)上册.docx
- 第08讲 伴性遗传和人类遗传病(讲义)-2025年高考生物二轮复习(新高考通用) (原卷版).docx
- 2024届上海市普陀区高考一模数学试卷及答案.pdf
- 《浙教版(2023)小学信息科技六年级上册 第7课 开关量的生成》说课稿.docx
- 第07讲 基因的分离定律和自由组合定律(上课课件)-2025年高考生物二轮复习(新高考通用).pptx
- 2024届上海市某中学高考化学四模试卷含解析.pdf
- 双十一图书购买指南PPT模板.pptx
文档评论(0)