Sas: set で where オプションを使用する方法


SAS のSETWHEREオプションを使用すると、特定の条件が満たされる別のデータセットの行のみを含む新しいデータセットを作成できます。

このオプションを実際に使用する一般的な 2 つの方法を次に示します。

方法 1: 条件付きで WHERE と SET を使用する

 data new_data;
    set my_data ( where = (dots>20));
run ;

この例では、 points列の値が 20 より大きいmy_data内の行のみを含むnew_dataという新しいデータセットを作成します。

方法 2: 複数の条件で WHERE と SET を使用する

 data new_data;
    set my_data ( where = (points>20 or team="Rockets"));
run ;

この例では、 my_data内のポイント列の値が 20 より大きい行、またはチーム列の値が Rockets に等しい行のみを含む、 new_dataという新しいデータセットを作成します。

次の例は、SAS の次のデータセットで各メソッドを実際に使用する方法を示しています。

 /*create dataset*/
data my_data;
    input team $points assists;
    datalines ;
Mavs 22 10
Rockets 12 14
Spurs 29 8
Kings 13 10
Warriors 44 10
Heat 18 8
Magic 11 5
Pelicans 19 3
Blazers 12 8
;
run ;

/*view dataset*/
proc print data =my_data; 

例 1:条件で WHERE と SET を使用する

次の構文を使用して、 my_data内のPoints列の値が 20 より大きい行のみを含むnew_dataという新しいデータセットを作成できます。

 /*create new dataset*/
data new_data;
    set my_data ( where = (dots>20));
run ;

/*view new dataset*/
proc print data = new_data; 

このデータセットには、ポイント列の値が 20 を超える行のみが含まれることに注意してください。

例 2:複数の条件での WHERE および SET の使用

次の構文を使用して、 my_data内のポイント列の値が 20 より大きい行、またはチーム列の値が「Rockets」に等しい行のみを含むnew_dataという名前の新しいデータセットを作成できます。

 /*create new dataset*/
data new_data;
    set my_data ( where = (points>20 or team="Rockets"));
run ;

/*view new dataset*/
proc print data = new_data; 

このデータセットには、ポイント列の値が 20 を超える行、またはチーム列の値が「Rockets」である行のみが含まれることに注意してください。

: orの代わりにand を使用すると、複数の条件を満たす行のみを含めることができます。

追加リソース

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

SAS で複数のデータセットに対して SET ステートメントを使用する方法
SAS でデータセットの最初の N 行を選択する方法
SAS でデータセットを削除する方法

コメントを追加する

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