Sas에서 in= 옵션을 사용하는 방법
SAS에서 IN= 옵션을 사용하여 현재 관측치가 입력 데이터 세트에서 나오는지 여부를 나타내는 부울 변수를 생성할 수 있습니다.
IN= 옵션은 두 개의 데이터세트를 함께 추가하고 결과 데이터세트의 특정 행이 특정 입력 데이터세트 중 하나에서 나온 것인지 알고 싶을 때 일반적으로 사용됩니다.
다음 예에서는 IN= 옵션을 실제로 사용하는 방법을 보여줍니다.
예: SAS에서 IN= 옵션을 사용하는 방법
NBA 동부 및 서부 컨퍼런스의 농구 선수에 대한 정보가 포함된 두 개의 데이터 세트가 있다고 가정합니다.
/*create East dataset*/
data east_data;
input team $points;
datalines ;
Celtics 22
Pistons 14
Nets 35
Hornets 19
Magic 22
;
run ;
/*create West dataset*/
data west_data;
input team $points;
datalines ;
Mavs 40
Rockets 39
Warriors 23
Lakers 19
Clippers 25
;
run ;
/*view datasets*/
proc print data =east_data;
proc print data =west_data;
다음 구문을 사용하여 두 데이터세트를 추가하는 새 데이터세트를 만들 수 있습니다.
/*create new dataset*/
data all_data;
set east_data west_data;
run ;
/*view new dataset*/
proc print data =all_data;
각 데이터세트의 각 행은 새 데이터세트에 속합니다.
각 행이 어떤 데이터세트에서 왔는지 확인하려면 다음과 같이 IN= 옵션을 사용할 수 있습니다.
/*create new dataset*/
data all_data;
set east_data west_data( in =i);
if i then conf='West';
else conf='East';
run ;
/*view new dataset*/
proc print data =all_data;
IN= 옵션을 사용하면 행이 east_data라는 데이터 세트에서 오는 경우 “East” 값을 취하고 행이 east_data 라는 데이터 세트에서 오는 경우 “West” 값을 사용하는 conf 라는 새 열을 생성할 수 있습니다. ouest_data 라는 데이터입니다.
행이 east_data 라는 데이터세트에서 오는 경우 ELSE 문 없이 IF 문만 사용하여 단순히 * 값을 취하는 새 열을 생성할 수도 있습니다.
/*create new dataset*/
data all_data;
set east_data( in =i) west_data;
if i then east_conf='*';
run ;
/*view new dataset*/
proc print data =all_data;
IN= 옵션을 사용하면 행 이 east_data 라는 데이터 세트에서 오는 경우 * 값을 취하고 행이 west_data 라는 데이터 세트에서 오는 경우 값을 사용하지 않는 east_conf 라는 새 열을 생성할 수 있습니다.
추가 리소스
다음 튜토리얼에서는 SAS에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.
SAS에서 NOT EQUAL 연산자를 사용하는 방법
SAS에서 “NOT IN” 연산자를 사용하는 방법
SAS에서 A가 B가 아닌 경우 병합하는 방법