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 ;

この構文は、 New_Columnという名前の新しい列を作成します。その値はExisting_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を受け取りました。
  • 評価が「Good」の場合、 Player_Status は2に割り当てられます。
  • 評価が「OK」の場合、 Player_Status に3が割り当てられます。
  • 評価が以前に指定した値のいずれにも等しくない場合、 Player_Statusには4が割り当てられました。

: SAS のSELECTステートメントの完全なドキュメントは、 ここで見つけることができます。

追加リソース

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

SAS の DO ループの完全ガイド
SAS で IF-THEN-DO を使用する方法

コメントを追加する

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