6-2.数据修改及程序结构课案.ppt

  1. 1、本文档共75页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据修改及程序结构;1. 赋值语句 ;Data a; x=15; grp=“A”; Run; ;结果变量类型 ;表达式值转换;表达式值转换;结果变量长度 ;解决办法: 1. 先用LENGTH语句定义长度 2. 在第一次赋值时添加足够空格;2. 累加语句 ;应用准则 累加变量在第一次执行前的初始值为0; 表达式的计算结果为缺失值时,取0代替; 表达式可以使用比较算符; 语句A+(-B)中的(+)是必须的,不能写成A-B。 ;data a; input id sex $; m=m+1; /* 赋值语句不能累加*/ if sex=“F” then K+1; /* 条件累加*/ cards; 1 F 2 M 3 F 4 F 5 M ; run; proc print; run;;赋值语句+RETAIN语句可实现累加;data a; input id sex $; Retain m 0; /* 申明m值保留不清空,初值为0*/ m=m+1; /* 实现累加*/ cards; 1 F 2 M 3 F 4 F 5 M ; run; proc print; run;;例如,对X平方后再累加;3. DELETE语句;例如,与if语句联用,删除部份观察;例如,清空一个数据集 ;4. DROP语句 和 KEEP语句;例如,指定不输出到数据集中的变量;例如,指定需要输出到数据集中的变量;5. STOP语句;数据步循环执行到第4次,即x=4, y=9时,n=6,满足n4的条件,执行STOP语句,则立即停止数据步的执行,正被处理的那条观测不会被添加到数据集A中。A中只有3条观察。;6. ABORT语句 ;数据步循环执行到第4次,即x=4, y=9时,n=6,满足n4的条件,执行ABORT语句,则立即停止数据步的执行,正被处理的那条观测不会被添加到数据集A中。如果数据集A先前已经存在,则不会被替换;如果数据集A先前不存在,则建立数据集A,只有3条观察。;data a; input x y; if x=4 then n+2; IF n4 THEN ABORT; cards; 2 5 4 2 4 8 4 9 7 2 ; run; proc print; run;;例如,ABORT语句使程序出现错误时终止执行;7. LOSTCARD语句 ;例,每个记录应包含两行数据,第一行为SID和性别,第二行为SID和两门功课的成绩,读取信息完整的记录;LOSTCARD语句的执行步骤 ;data a; input id1 x $ #2 id2 y $ #3 id3 z $; if id1 ne id2 or id2 ne id3 then lostcard; cards; 101 A 102 B 102 B 103 C 103 C 103 C 104 D 105 E 105 E 105 E ; proc print; run;;例中,DATA步读3个数据行作为1个观测。第1个观测有2个丢失记录,第2个观测有1个丢失记录,第4个观测丢失2个记录。只有第3和第5个观测是完整的观测。 LOG窗口显示的信息: NOTE: LOST CARD. RULE: ----+----1----+----2----+----3----+----4----+----5----+----6---- 5 101 A 6 102 B 7 102 B NOTE: LOST CARD. 8 103 C NOTE: LOST CARD. 9 103 C NOTE: LOST CARD. 11 104 D 12 105 E 13 105 E NOTE: 数据集 WORK.A 有 2 个观测和 6 个变量。 ;语句格式 WHERE 逻辑表达式; 根据表达式选择满足条件的观察 ;WHERE语句的特点 ;例,where语句选择观测;例,where语句选择观测;Where age between 18 and 65; Where taxes between salary*0.30 and salary*0.50; Where taxes not between salary*0.30 and salary*0.50; Where idnum is missing; /*idnum为缺失值时 */ Where name is null; /*name为空时*/ Where score in (“A”,”B”); /*score为“A”或“B”时*/ Where

文档评论(0)

希望之星 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档