SAS三种循环循环

在一般编程中, 语句是按顺序执行的, 即, 程序的第一条语句首先执行, 然后第二条执行, 依此类推。但是, 在某些情况下, 我们需要执行特定次数或重复执行同一组语句。在这种情况下, 我们需要使用循环。在SAS中, 我们可以通过使用Do Statement(也称为Do Loop)来使用循环。SAS编程中使用了三个基本循环:DO循环、DO UNTIL循环、DO WHILE循环。现在, 让我们了解SAS编程中这些循环的动作:
DO循环
这是DO循环的最简单形式。DO循环的操作是无条件的, 这意味着如果我们指示该循环执行一条语句50次, 那么它将无限制地执行该语句50次(除非在处理过程中发生错误)。让我们举个例子来了解它的工作原理。
例:
在此, 我们以增加银行账户余额为例, 并在接下来的4笔Rs.1000卢比之后计算账户余额。
假设初始账户余额为9000, 则可以在以下代码中分配”余额= 9000″。
DATA account;
  balance = 9000;
  do i = 1 to 4;
    balance + 1000;
  end;
run;
PROC print DATA=account;
run;
在此代码中, 我们将语句” balance + 1000″执行4次, 这样它将无条件地执行多达4次。
DO UNTIL循环
第二种类型的循环是DO UNTIL循环。我们可以使用此循环继续执行语句, 直到条件变为真为止。让我们通过一个例子来理解:
DATA until;
  loan = 30000;
  payments = 0;
  do until (loan = 0);
    loan = loan - 1000;
    payments = payments + 1;
  end;
run;
proc print data=until;
run;
根据以上输出, 付款的计数一直持续到贷款变为零为止。
DO WHILE循环
循环的第三种类型是DO WHILE循环。当指定条件保持为真时, 我们可以使用此循环继续执行。让我们通过一个例子来理解:
在此示例中, 我们将使用DO WHILE循环来计算贷款的还款次数。在这里, 我们使用与上述示例相同的数据。
Data while;
  loan = 30000;
  payments = 0;
  do while(loan > 0);
    loan = loan - 1000;
    payments = payments + 1;
  end;
run;
proc print data=while;
run;
根据以上输出, 付款的计数一直持续到贷款大于零或条件成立为止。
下面是对3种循环语句的比较:
迭代DO语句基于索引变量值重复执行DO语句和END语句之间的SAS语句。使用迭代DO语句较容易控制循环次数。

。。。。。。。。。。。。。。。。。

版权原因,完整文章,请参考如下:SAS三种循环循环

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值