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_Status4 가 할당됩니다.

참고 : 여기에서 SAS의 SELECT 문에 대한 전체 문서를 찾을 수 있습니다.

추가 리소스

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

SAS의 DO 루프에 대한 전체 가이드
SAS에서 IF-THEN-DO를 사용하는 방법

의견을 추가하다

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