如何在 sas 中使用 do while 语句


您可以在 SAS 中使用DO WHILE语句在条件保持为真一遍又一遍地循环

以下示例展示了在实践中使用此指令的两种不同方法。

示例 1:SAS 中的 DO WHILE 语句

以下代码展示了如何在 SAS 中使用DO WHILE语句创建一个包含两个名为var1var2的变量的数据集,即使var1的值小于 100,这两个变量仍会继续生成新值:

 /*create dataset using DO WHILE statement*/
data my_data;

var1 = 1;
var2 = 1;

dowhile (var1<100);
    var1 = var1 + var2; 
    var2 = var1 * var2;
    var1 + 1;
    
output ;

end ;

run ;

/*view dataset*/
proc print data =my_data;

DO WHILE语句继续为var1var2生成新值,即使var1的值小于 100。

一旦var1的值超过100, DO WHILE语句就会停止,新值也停止添加到数据集中。

示例 2:SAS 中的 DO WHILE 语句和 TO 语句

以下代码展示了如何在 SAS 中使用DO WHILE语句和TO语句来创建一个包含两个名为var1var2的变量的数据集,即使var1的值小于 10,这两个变量仍会继续生成新值:

 /*create dataset using DO WHILE statement with TO statement*/
data my_data;

var1 = 0; 

do var2 = 1 to 5 while (var1 < 10);   
    var1 = var2**3;
    
output ;

end ;

run ;

/*view dataset*/
proc print data =my_data;

TO指令指示 SAS 尝试为var2生成 1 到 5 范围内的值,但前提是var1的值小于 10。

一旦var1的值超过10, DO WHILE语句就会停止,新值也停止添加到数据集中。

其他资源

以下教程解释了如何在 SAS 中执行其他常见任务:

如何在 SAS 中使用 IF-THEN-DO
如何在 SAS 中使用 IF-THEN-ELSE
SAS中如何删除重复项

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注