Sas에서 do while 문을 사용하는 방법
SAS에서 DO WHILE 문을 사용하여 조건이 true로 유지되는 동안 계속해서 반복 할 수 있습니다.
다음 예에서는 실제로 이 명령어를 사용하는 두 가지 다른 방법을 보여줍니다.
예제 1: SAS의 DO WHILE 문
다음 코드는 SAS에서 DO WHILE 문을 사용하여 var1 의 값이 100보다 작은 경우에도 계속해서 새 값을 생성하는 var1 및 var2 라는 두 개의 변수가 포함된 데이터 세트를 생성하는 방법을 보여줍니다.
/*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 미만 임에도 불구하고 var1 및 var2 에 대해 계속해서 새 값을 생성했습니다.
var1 의 값이 100을 초과하면 DO WHILE 문이 중지되고 새 값이 데이터 세트에 추가되는 것이 중지됩니다.
예 2: SAS의 TO 문이 포함된 DO WHILE 문
다음 코드는 SAS에서 TO 문과 함께 DO WHILE 문을 사용하여 var1 의 값이 10보다 작은 경우에도 계속해서 새 값을 생성하는 var1 및 var2 라는 두 변수가 포함된 데이터 세트를 생성하는 방법을 보여줍니다.
/*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에서 중복을 제거하는 방법