全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1291 6
2012-12-26
如下程序可以运行:
data hjr2;
    set comb;
        array r(600);
        array nn(8725) ;
         num=0;
        do i=401 to 450;
          do j=i+1 to 600;
               num+1;
                 nn(num)=(r(i)-r(j))/(r(i)+r(j));
          end;
        end;
        keep ID number nn1-nn8725;
run;

如下程序则不可以运行,提醒错误为:ERROR: Array subscript out of range at line 256 column 32. 按照组合关系,上面循环运行出来的列为8725,下面循环运行出来的列28725,怎么就说结果的 Array 超了定义的呢?

data hjr2;    set comb;        array r(600);        array nn(28725) ;         num=0;        do i=401 to 450;          do j=i+1 to 1000;               num+1;                  nn(num)=(r(i)-r(j))/(r(i)+r(j));           end;         end;        keep ID number nn1-nn28725;run;

二维码

扫码加我 拉你入群

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

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

全部回复
2012-12-26 21:31:01
循环太多 看花了 期待高人
二维码

扫码加我 拉你入群

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

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

2012-12-26 22:09:45
兄弟,你下面程序r(600),可是j都do到1000了,当然越界,细心一点嘛
二维码

扫码加我 拉你入群

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

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

2012-12-26 23:49:40
这是玩游戏么?
计数器num的次数应该是200+199+198+...+,一共加50次的和。
其它的就不说了,不过觉得这样定义的array会有问题的。
二维码

扫码加我 拉你入群

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

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

2012-12-27 22:55:33
新人2012 发表于 2012-12-26 23:49
这是玩游戏么?
计数器num的次数应该是200+199+198+...+,一共加50次的和。
其它的就不说了,不过觉得这样 ...
嗯。。。确实有问题,不过今天已经解决了。。谢谢您,多交流指点
二维码

扫码加我 拉你入群

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

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

2012-12-27 22:56:40
Imasasor 发表于 2012-12-26 22:09
兄弟,你下面程序r(600),可是j都do到1000了,当然越界,细心一点嘛
谢谢这位兄弟,嗯。。。确实有问题,不过今天把这个array计算对了就可以运行而不超界。。谢谢您,多交流指点
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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