Sas で do while ステートメントを使用する方法


SAS でDO WHILEステートメントを使用すると、条件が true である間、何度もループすることができます。

次の例は、この命令を実際に使用する 2 つの異なる方法を示しています。

例 1: SAS の DO WHILE ステートメント

次のコードは、SAS でDO WHILEステートメントを使用して、 var1の値が 100 未満であっても新しい値を生成し続けるvar1var2という 2 つの変数を含むデータセットを作成する方法を示しています。

 /*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ステートメントは、 var1の値が 100 未満であっても、 var1var2に新しい値を生成し続けました。

var1の値が 100 を超えると、 DO WHILEステートメントが停止し、新しい値がデータ セットに追加されなくなりました。

例 2: SAS の TO ステートメントを含む DO WHILE ステートメント

次のコードは、SAS でDO WHILEステートメントとTOステートメントを使用して、 var1の値が 10 未満であっても新しい値を生成し続けるvar1var2という 2 つの変数を含むデータセットを作成する方法を示しています。

 /*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命令は、 var1の値が 10 未満の場合に限り、1 から 5 の範囲のvar2の値を生成するよう SAS に指示しました。

var1の値が 10 を超えると、 DO WHILEステートメントが停止し、新しい値がデータ セットに追加されなくなりました。

追加リソース

次のチュートリアルでは、SAS で他の一般的なタスクを実行する方法について説明します。

SAS で IF-THEN-DO を使用する方法
SAS で IF-THEN-ELSE を使用する方法
SAS で重複を削除する方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です