Sas で in= オプションを使用する方法


SAS でIN=オプションを使用すると、現在の観測が入力データセットからのものであるかどうかを示すブール変数を作成できます。

IN=オプションは、2 つのデータセットを加算し、結果のデータセット内の特定の行が特定の入力データセットの 1 つに由来するかどうかを知りたい場合によく使用されます。

次の例は、実際にIN=オプションを使用する方法を示しています。

例: SAS で IN= オプションを使用する方法

NBA の東部カンファレンスと西部カンファレンスのバスケットボール選手に関する情報を含む 2 つのデータセットがあるとします。

 /*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;

次の構文を使用して、これら 2 つのデータセットを追加する新しいデータセットを作成できます。

 /*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というデータ。

ELSEステートメントを使用せずにIFステートメントだけを使用して、単純に値を取る新しい列を作成することもできることに注意してください。 * 行がeast_dataというデータセットからのものである場合:

 /*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_confという新しい列を作成できます。この列は、行がeast_dataというデータセットから取得された場合は値*を取り、行がwest_dataというデータセットから取得された場合は値を取得しません。

追加リソース

次のチュートリアルでは、SAS で他の一般的なタスクを実行する方法について説明します。

SAS で NOT EQUAL 演算子を使用する方法
SAS で「NOT IN」演算子を使用する方法
SAS で A が B ではない場合にマージする方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です