- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Unit15Sas用在DATA步的控制语句
用在DATA步的控制语句
DATA步的基本概念、流程和有关文件的操作语句我们前面已介绍。但我们所介绍的DATA步中的SAS语句都是按语句出现的次序对每一个观测进行处理。有时需要对一些确定的观测跳过一些SAS处理语句,或者改变SAS语句的处理次序,就需要用到DATA步中的控制语句,实现SAS程序的分支、转移和循环等改变处理次序的功能。
SAS系统提供的控制语句从实现功能的角度看主要有以下五大类:
实现循环(DO语句)
实现选择(SELECT语句)
实现分支(IF语句)
实现转移(GOTO语句)
实现连接(LINK语句)
实现循环(DO语句)
循环程序中使用DO语句的主要形式有四种,如下所示:
DO语句的程序格式之一:
IF条件表达式 THEN DO ; 一些SAS语句 ; END ;
DO语句的程序格式之二:
DO 变量=开始值 TO 终值 BY 步长值 ; 一些SAS语句 ; END ;
DO语句的程序格式之三:
DO WHILE (条件表达式 ) ; 一些SAS语句 ; END ;
DO语句的程序格式之四:
DO UNTIL (条件表达式 ) ; 一些SAS语句 ; END ;
DO WHILE 和DO UNTIL语句中的表达式是用括号括起来的。两种循环程序格式的区别是,对条件表达式的判断位置。DO WHILE是在循环体的开头,而DO UNTIL是在循环体的结束,也就是说DO UNTIL至少执行循环体中一些SAS语句一次。
下面我们举例来说明DO语句的使用。
使用循环DO组产生随机数数据集
例如,我们需要产生一组均匀分布的随机数流的数据集,程序如下:
Data DoRanuni ; seed = ; Do I = 1 to 10 by 2 ; X1=ranuni(seed ) ; X2=ranuni(seed ) ; Output ; End ; Proc print data=DoRanuni ; Run ;
程序中的X1和X2都采用相同种子变量值SEED产生的均匀分布的随机数流。在数据步DATA中使用DO循环语句时常常与OUTPUT语句配合来产生数据集。OUTPUT语句作用是把当前的观测输出到正在被创建的数据集DoRanuni中。第一次顺序执行产生Seed、I、X1、X2四个变量,OUTPUT输出后,遇到END语句回到DO语句,产生I、X1、X2变量的第二次值,Seed变量因为没有遇到DATA语句,继续保持原来值,DO-END循环结束后,DATA步也就结束了。均匀分布随机数是最基本也是最重要的随机数,其他分布的随机数都可以用均匀随机数经过变换得到。最常用的均匀分布随机函数是RANUNI(seed),231-1,乘子为397204094的素数模发生器。Seed必须是小于模231-1任何数值的常数。相同的Seed值会产生相同的随机数序列数,但不同次调用随机函数所产生的值通常是不同的,因此计算机所产生的随机数是一种伪随机数。这个程序中的X1和X2都采用相同种子变量值SEED产生的均匀分布的随机数流。SAS系统提供产生了11种常见分布随机数的函数,如表15.1所示,随机数是我们实验和研究问题的重要的输入数据。因此要能编写程序,产生符合要求分布的随机数数据集。
程序运行结果如图15.1所示。
表15.1 SAS系统的各种随机函数
随机数函数名 作 用 UNIFORM(seed) 产生(0,1)区域均匀分布随机数,乘同余发生器 RANUNI(seed) 产生(0,1)区域均匀分布随机数,素数模发生器 NORMAL(seed) 产生标准正态分布随机数,利用中心极限定理近似公式 RANNOR(seed) 产生标准正态分布随机数,利用变换抽样法 RANEXP(seed) 产生λ=1的指数分布随机数 RANGAM(seed,alpha) 产生伽马分布随机数,alpha0,seed为任意数值 RANTRI(seed,h) 产生三角分布随机数,0h1,seed为任意数值 RANCAU(seed) 产生标准柯西分布随机数 RANBIN(seed,n,p) 产生二项分布随机数,n0的整数,0p1,seed为任意
您可能关注的文档
最近下载
- 植物根的生长苏教版.pptx VIP
- 2026年普法学法知识竞赛题库200道【学生专用】.docx VIP
- 国家安全教育大学生读本高教2024版课件第一章完全准确领会总体国家安全观.pptx VIP
- 人工智能:模型与算法(浙江大学)中国大学MOOC(慕课)章节测验试题(答案).pdf
- 化妆品法规专业考试题目及答案.docx VIP
- 中职英语高教版(2023修订版)基础模块3三单元《Artificial+Intelligence》单词讲解课件.pptx VIP
- 2026年大学生计算机考试题库200道带答案(基础题).docx VIP
- 文化遗产教育跨学科融合课程设计探析.docx VIP
- 低代码开发师(中级)考试题库.docx VIP
- 高中历史教学中家国情怀教育的策略与评价体系教学研究课题报告.docx
文档评论(0)