- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SAS统计软件数据步循环与转移控制PPT
第8章 数据步循环与转移控制;DO语句 ;简单DO语句 ;应用举例 ;329 data a;
330 set fdata.class;
331 if age14 then do;
332 h_cm=30.5*height/12;
333 put name= sex= age= h_cm=;
334 end;
335 run;
Name=Janet Sex=F Age=15 h_cm=158Name=Mary Sex=F Age=15 h_cm=169Name=Philip Sex=M Age=16 h_cm=183
Name=Ronald Sex=M Age=15 h_cm=170Name=William Sex=M Age=15 h_cm=169NOTE: 从数据集 FDATA.CLASS 读取了 19 个观测。
NOTE: 数据集 WORK.A 有 19 个观测和 6 个变量。
NOTE: “DATA 语句”所用时间(总处理时间):
实际时间 0.01 秒
CPU 时间 0.01 秒;例8.2 缺省的步长为1。
do I=1 to 1000;
do I=1 to y+3;
do I=1 to exit;;例8.3 起始值例句。
do i=5;
do i=1 to n ;
do i=n to 1 by –1;
do i=k+1 to n-1;
do i=1 to k-1, k+1 to n;
do i=2, 3, 5, 7, 11, 13, 17;
do i=0.1 to 0.9 by 0.1, 1 to 10 by 1, 20 to 100 by 10;
do i=saturday, sunday;
do i=01jan99d, 25feb99d;
do i=01jan99d to 01jan2000d by 1;
例句子中,起始值必须全部是数值或全部是字符常数,也可以是变量。字符常数必须用引号括起来。 ;例8.4 使用表达式选项。
do i=1 to 10 while(xy);
do i=2 to 20 by 2 until((x/3)y);
do i=10 to 0 by –1 while(month=jan);;应用举例 ;336 data a;
337 input x y;
338 if xy then goto skip; /*skip是循环体外的语句标号*/
339 y=log(y-x);
340 yy=y-20;
341 skip: if y0 then do;
342 put x= y=;
343 z=log(x-y);
344 end;
345 cards;
x=5 y=-1
NOTE: 数据集 WORK.A 有 3 个观测和 4 个变量。
NOTE: “DATA 语句”所用时间(总处理时间):
实际时间 0.04 秒
CPU 时间 0.01 秒
349 ;
350 run;;例8.6 产生指定观测值个数的数据集。
data a;
do n=1 to 100 ;
output;
end;
run;
例中,产生一个含有100个观测值的数据集。 ;例8.7 自然数求和。
data a;
t=0;
do n=1 to 100 ;
t=t+n;
output;
end;
run;
例中,求1到100的自然数之和。 ;例8.9 用循环DO语句处理数组。
array day{7} d1-d7; /*定义数组day{7} */
do i=1 to 7;
if day{i}=99 then day{i}=100;
end;
例中,用循环DO语句处理数组时,便于进行批量更新。 ;DO OVER语句 ;应用举例 ;DO WHILE语句 ;应用举例 ;DO UNTIL语句 ;应用举例 ;END语句 ;应用举例 ;SELECT语句 ;应用举例 ;例8.14 没有SELECT表达式的SELECT语句。
data _null_;
do mon=jan,feb,mar,apr,may,jun,jul,aug,sep;
select;
when (mon in (jun,jul,aug)) put summer mon=;
when (mon in (mar,apr,may)) put spring mon=;
otherwise put fall or winter mon=;
end;
end;
run; ;361 data _null_;
362 do mon=jan,feb,mar,a
文档评论(0)