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으로 바꾸는 방법