全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
2295 4
2018-01-19
请问如下程序中的j取值为什么只有31?
复制代码


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2018-1-19 11:32:30
data a;
      do i=1 to 100;
            do j=1 to 30;
                   x=155.4+5.3*rannor(0);
                   output; /*This is the solution to your issue and I guess this what you wanted*/
            end;
           *** output;
       end;
run;
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2018-1-19 15:08:21
1、j的值为何是31,而不是30,因为当j=31,才会跳出循环
2、为何只输出j=31,因为sas语言是顺序执行的语言,output 之前,j的值执行到31,才跳出循环,此时 j=31,
    最后才执行output。所以每次output中,i = 任何值 ,对应的只有j=31
3、如果需要输出j的任何一个值,可以把output 放到 j 循环里面。但,j不再会有j=31
4、所以,如何控制代码,依赖你想要怎样的结果

data a;
      do i=1 to 100;
            do j=1 to 30;
                   x=155.4+5.3*rannor(0);
                   output;
            end;
            
       end;
run;
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2018-1-19 17:06:04
学习了。。。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2018-1-24 16:50:12
流水不朽 发表于 2018-1-19 15:08
1、j的值为何是31,而不是30,因为当j=31,才会跳出循环
2、为何只输出j=31,因为sas语言是顺序执行的语言 ...
赞。。。。。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群