SAS编程技术数据步变量与变量属性控制PPT.ppt

SAS编程技术数据步变量与变量属性控制PPT.ppt

  1. 1、本文档共104页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SAS编程技术数据步变量与变量属性控制PPT

第9章 数据步变量与变量属性控制;本章内容;ARRAY语句 ;显式下标数组语句 ;下标的三种格式 ;建立临时数组元素列表: ;例9.4 建立临时数组元素。 若用如下程序,则会产生新变量t1,t2,t3; data a; set ResDat.class; array t(3) (5,10,15); run; 若用临时数组,则不会产生新变量 data a; set ResDat.class; array t(3) _temporary_ (5,10,15); run;;Name;初始值表示方法 ;应用举例 ;引用显式下标数组元素 ;455 data new; 456 input qa1-qa10 qb1-qb10; 457 array test{10} qa1-qa5 qb1-qb5; 458 put test{4}= test{6}=; 459 cards; qa4=6 qb1=8 NOTE: 数据集 WORK.NEW 有 1 个观测和 20 个变量。 NOTE: “DATA 语句”所用时间(总处理时间): 实际时间 0.01 秒 CPU 时间 0.01 秒 461 ;;例9.9 规定数组的一些特殊元素作为循环DO语句范围。 array day(7) d1-d7; do i=2 to 4; do i=1 to 7 by 2; do i=1,3; 例中,处理数组DAY中选定的一些特殊元素。 ;例9.10 一个循环DO组里处理多个数组。 array day(*)d1-d4; do i=1 to dim(day); day(i)=day(i)+10; end; 例中,循环DO语句里使用DIM函数得到数组中元素的个数。用DIM函数作为DO语句上界时,这个上界会根据数组元素个数的实际情况自动调整,用DIM函数作为DO语句上界的所有语句都不必改动。 ;例9.10 引用规定上下界的一维数组。 Array yrs{76:85} year76-year85; do i=76 to 85 ; if yrs(i)=9 then yrs(i)=.; end; do i=lbound(yrs) to hbound(yrs); if yrs(i)=9 then yrs(i)=.; end; 例中,两个DO组是等价的。第二个DO组中LBOUND函数取数组YRS的下界,而HBOUND函数取YRS的上界。 ;DO WHILE和DO UNTIL组引用 ;例9.13 DO WHILE语句用法。 data test; input x1-x5 y; array t(5) x1-x5; i=1; do while (t(i)y); put t(i)= y=; i=i+1; end; cards; 1 2 3 4 5 3 0 2 4 6 8 6 ; run;;隐含下标数组语句 ;例9.14 定义字符数组。 data a; input x1 $3.x2 $3.; array item(j)$ 12 x1-x10; 例中,定义字符数组ITEM,前两个元素x1和 x2,长度为3,它们在INPUT语句里定义了。其它8个元素在ARRAY语句里用长度说明选项,给出长度为12。 ;例9.15 规定组成数组的元素。 Input (x1-x3) ($8.) x4 x5; Array item _character_; 例中,INPUT语句用输入格式$8.读字符变量x1至x3,而x4和x5是数值变量。ARRAY语句使用特殊变量_character_只能引入字符变量到数组中?? 一个变量或一个隐含下标数组可以是多个隐含数组的元素。 ;引用隐含数组元素 ;504 data a; 505 input id x1-x10 y1-y10; 506 array big(i) x1-x10 y1-y10; 507 i=11; 508 put big; 509 cards; 2 NOTE: 数据集 WORK.A 有 1 个观测和 22 个变量。 NOTE: “DATA 语句”所用时间(总处理时间): 实际时间 0.01 秒 CPU 时间 0.01 秒 511 ; ;例9.17 循环DO组中引用。 data test; input s1-s5; array s s1-s5; /* array语句里没有规定下标变量 */ do _i_=1 to 5; /* 使用自动变量_i_作为下标变量 */ s=s*100; end; cards; .95 .88 .57 .90 .65 .95 .88 .57 .90 .65 .95 .88 .57 .90 .65 .95

文档评论(0)

djdjix + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档