Sas에서 do while 문을 사용하는 방법


SAS에서 DO WHILE 문을 사용하여 조건이 true로 유지되는 동안 계속해서 반복 할 수 있습니다.

다음 예에서는 실제로 이 명령어를 사용하는 두 가지 다른 방법을 보여줍니다.

예제 1: SAS의 DO WHILE 문

다음 코드는 SAS에서 DO WHILE 문을 사용하여 var1 의 값이 100보다 작은 경우에도 계속해서 새 값을 생성하는 var1var2 라는 두 개의 변수가 포함된 데이터 세트를 생성하는 방법을 보여줍니다.

 /*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에서 TO 문과 함께 DO WHILE 문을 사용하여 var1 의 값이 10보다 작은 경우에도 계속해서 새 값을 생성하는 var1var2 라는 두 변수가 포함된 데이터 세트를 생성하는 방법을 보여줍니다.

 /*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에게 1에서 5까지의 var2 값을 생성하도록 지시했지만 var1 의 값이 10보다 작은 경우 에만 가능했습니다.

var1 의 값이 10을 초과하면 DO WHILE 문이 중지되고 새 값이 데이터 세트에 추가되는 것이 중지됩니다.

추가 리소스

다음 튜토리얼에서는 SAS에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.

SAS에서 IF-THEN-DO를 사용하는 방법
SAS에서 IF-THEN-ELSE를 사용하는 방법
SAS에서 중복을 제거하는 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다