Sas에서 select-when을 사용하는 방법(예제 포함)
SAS에서 SELECT-WHEN 문을 사용하여 데이터 세트의 기존 범주형 변수 값을 기반으로 새 변수에 값을 할당할 수 있습니다.
이 문은 다음 기본 구문을 사용합니다.
data new_data;
set my_data;
select (Existing_Column);
when ('value1') New_Column= 1 ;
when ('value2') New_Column= 2 ;
when ('value3') New_Column= 3 ;
otherwise New_Column= 4 ;
end ;
run ;
이 구문은 Existing_Column 값에 따라 값이 달라지는 New_Column 이라는 새 열을 생성합니다.
다음 예에서는 SELECT-WHEN 문을 실제로 사용하는 방법을 보여줍니다.
예: SAS의 SELECT-WHEN
SAS에 다양한 농구 선수에 대한 정보가 포함된 다음과 같은 데이터 세트가 있다고 가정합니다.
/*create dataset*/
data my_data;
input team $rating $points;
datalines ;
Mavs Great 22
Mavs Good 29
Mavs OK 15
Mavs Bad 8
Spurs Good 30
Spurs OK 15
Spurs OK 20
Spurs Bad 7
;
run ;
/*view dataset*/
proc print data =my_data;
다음 SELECT-WHEN 문을 사용하여 값이 등급 열의 값에 따라 달라지는 Player_Status 라는 새 변수를 만들 수 있습니다.
/*create new dataset with Player_Status column*/ data new_data; set my_data; select (rating); when ('Great') Player_Status= 1 ; when ('Good') Player_Status= 2 ; when ('OK') Player_Status= 3 ; otherwise Player_Status= 4 ; end ; run ; /*view new dataset*/ proc print data = new_data;
새로운 Player_Status 열에 값이 생성된 방법은 다음과 같습니다.
- 등급이 “Excellent”인 경우 Player_Status는 1을 받았습니다.
- 등급이 “좋음”이면 Player_Status가 2 로 할당되었습니다.
- 등급이 “OK”이면 Player_Status에 3 이 할당되었습니다.
- 등급이 이전에 지정한 값과 같지 않으면 Player_Status 에 4 가 할당됩니다.
참고 : 여기에서 SAS의 SELECT 문에 대한 전체 문서를 찾을 수 있습니다.
추가 리소스
다음 튜토리얼에서는 SAS에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.