Sas에서 if-then-else를 사용하는 방법(예제 포함)


SAS에서 IF-THEN-ELSE 문을 사용하여 조건이 true인 경우 값을 반환하고, 그렇지 않으면 조건이 true가 아닌 경우 다른 값을 반환할 수 있습니다.

이 문은 다음 기본 구문을 사용합니다.

 if var1 > 30 then var2 = 'good';
else var2 = 'bad';

또한 여러 ELSE IF 문을 함께 연결하여 더 많은 조건에 따라 더 많은 잠재적인 값을 반환할 수도 있습니다.

 if var1 > 35 then var2 = 'great';
else if var1 > 30 then var2 = 'good';
else var2 = 'bad';

다음 예에서는 SAS의 다음 데이터 세트에서 이러한 각 명령문을 실제로 사용하는 방법을 보여줍니다.

 /*create dataset*/
data original_data;
    input team $points;
    datalines ;
Cavs 12
Cavs 14
Warriors 15
Hawks 18
Mavs 31
Mavs 32 
Mavs 35
Celtics 36
Celtics 40
;
run ;

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

예 1: SAS의 IF-THEN-ELSE

다음 IF-THEN-ELSE 문을 사용하여 포인트 열의 값이 30보다 크면 “좋음” 값을 취하고 그렇지 않으면 “나쁨” 값을 갖는 rating 이라는 새 변수를 생성할 수 있습니다.

 /*create new dataset with new variable called rating*/
data new_data;
    set original_data;
    if points > 30 then rating = 'good';
    else rating = 'bad';
run ;

/*view new dataset*/
proc print data =new_data; 

등급 이라는 새 열은 포인트 열의 값이 30보다 크면 “좋음” 값을 취하고 그렇지 않으면 “나쁨” 값을 사용합니다.

예 2: SAS의 IF-THEN-ELSE IF

다음 IF-THEN-ELSE IF 문을 사용하여 다음 값을 사용하는 rating 이라는 새 변수를 생성할 수 있습니다.

  • 포인트가 35보다 큰 경우 ‘슈퍼’
  • 그렇지 않고 점수가 30보다 크면 “좋음”입니다.
  • 그렇지 않으면 “나쁨”

다음 코드는 이를 수행하는 방법을 보여줍니다.

 /*create new dataset with new variable called rating*/
data new_data;
    set original_data;
    if points > 35 then rating = 'great';
    else if points > 30 then rating = 'good';
    else rating = 'bad';
run ;

/*view new dataset*/
proc print data =new_data; 

등급 이라는 새 열은 포인트 열의 해당 값에 따라 “우수”, “좋음” 또는 “나쁨” 값을 갖습니다.

참고 : 다양한 조건에 따라 원하는 만큼 다양한 값을 반환하려는 만큼 ELSE IF 문을 자유롭게 사용하세요.

추가 리소스

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

SAS에서 IF-THEN-DO를 사용하는 방법
SAS에서 중복을 제거하는 방법
SAS에서 누락된 값을 0으로 바꾸는 방법

의견을 추가하다

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