数据步程序设计.pptVIP

  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文档。上传文档
查看更多
数据步程序设计

第四章 数据步程序设计 Program Design of Data Step 主讲人:李桥 主要内容 循环程序设计 – DO 语句 分支程序设计 – IF 语句 循环程序设计 循环:在数据步的一次执行中,某些语句需要反复执行许多遍,称为循环。 Do – End 语句: 格式:DO I = A to B by C; Loop Body ; END; 说明: DO语句组第一次执行时,指针变量 I 等于初值 A。当终值 B 和增量 C 都存在时,则每执行到 END语句时, 指针变量+增量 作为新的指针变量,并与终值作比较,直到指针变量的值变化超过终值时才停止执行DO语句组。最后一次执行完后,指针变量值超过终值。 例1:循环10次。 Data a; do i=0 to 9; put i; * Put语句:将变量值显示在日志窗口; end; run; 注意:如果初值终值均未规定,语句组仅执行一次(DO END 相当于括号)。如果未规定增量,增量的缺省值为 1。初值和终值是在第一次执行循环以前计算的。 双重循环:循环体中嵌套循环 例2:打印乘法口诀表 Data a; Do I = 1 to 9; * 被乘数从 1 循环到 9 ; Do j = 1 to I; * 乘数从 1 循环到被乘数 ; S = I * j; Put I “*” j “=“ S “ “ @@; * @@表示输出后不换行 ; End ; Put; * Put 语句使输出完一个被乘数后换行 ; End; Run; 利用双重循环组织分类数据: 例:研究某降糖药不同剂量的疗效,测量II型糖尿病患者治疗4周后餐后2小时血糖下降值(mmol/L),如表: Data a; Do i=1 to 16; Do j=1 to 3; Input x @@; Output; * Output:直接将变量当前值写入数据集; End; End; Cards; 5.6 -0.6 12.4 9.5 5.7 0.9 6.0 12.8 7.0 8.7 4.1 3.9 9.2 -1.8 1.6 5.0 -0.1 6.4 3.5 6.3 3.0 5.8 12.7 3.9 8.0 9.8 2.2 15.5 12.6 1.1 11.8 2.0 2.7 16.3 5.6 7.8 11.8 7.0 6.9 14.6 7.9 1.5 4.9 4.3 9.4 8.1 6.4 3.8 ; proc freq; tables i*j; weight x; Proc anova; Class i j; Model x=j; Run; 分支程序设计 分支:根据某种条件的满足与否来执行不同的操作,称为分支,常用 IF 语句完成。 IF – Then / Else 语句: 语句格式: IF Expression Then Statement 1 ; [ Else Statement 2 ]; 说明:首先对 IF 后面的表达式(Expression)求值,如果表达式值为真(非 0),则执行 Then 后面跟的语句(Statement 1),而忽略 Else 子句;如果表达式值为假(0),则忽略 Then 子句,转而去执行 Else 子句,如果没有 Else 子句,则不做任何操作,转而执行 IF 语句组后面的语句。 例1:在程序执行时显示总成绩280的观测。 Data a; Input num s1-s3 @@; Total=sum( of s1-s3); If Total 280 then put num Total; Cards; 1001 79 96 87 1002 89 96 98 1003 87 69 81 ; Run; 例2:通过牙齿状态调查判断患龋齿与失牙病情。 口腔科体检,记录检查值为:0-正常,1-龋齿,2-龋齿已填充,3-因龋齿失牙,4-其他原因失牙。 Data a; Input x @@; If 1=x=3 Then hq=1; * x=1 x=3; Else hq=0; If 3=x=4 Then sy=1; * x=3 x=4; Else sy=0; Cards; 0 1 2 3 4 ; Proc print; Run; 例3:通过分支建立不同类别数据集 按性别分别建立两个数据集 Boy 和 Girl。 Data boy girl; Input name $ sex $ age h w; If sex = ‘M’ then output boy; Else output girl; Cards; Zhang M 10 14

文档评论(0)

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

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

1亿VIP精品文档

相关文档