Sas で if and ロジックを使用する方法


SAS でIF ANDロジックを使用するには、次の基本構文を使用できます。

 data new_data;
    set my_data;
    if team="Cavs" and points>20 then cavs_and_20 = 1;
    else cavs_and_20 = 0;
run ;

この特定の例では、次の値を取るcavs_and_20という列を持つ新しいデータセットを作成します。

  • チーム列の値が「キャブス」と同じで、ポイント列の値が 20 より大きい場合は1
  • 両方の条件が満たされない場合は0

次の例は、この構文を実際に使用する方法を示しています。

例: SAS で IF AND ロジックを使用する方法

SAS に、さまざまなバスケットボール選手に関する情報を含む次のデータセットがあるとします。

 /*create dataset*/
data my_data;
    input team $points;
    datalines ;
Cavs 12
Cavs 24
Warriors 15
Cavs 26
Warriors 14
Celtics 36
Celtics 19
;
run ;

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

次の値を取る列を含む新しいデータセットを作成するとします。

  • チーム列の値が「キャブス」と同じで、ポイント列の値が 20 より大きい場合は1
  • 両方の条件が満たされない場合は0

これを行うには、次の構文を使用できます。

 /*create new dataset*/
data new_data;
    set my_data;
    if team="Cavs" and points>20 then cavs_and_20 = 1;
    else cavs_and_20 = 0;
run ;

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

cavs_and_20という新しい列は、 IF ANDロジックを使用して、データセット内の各行の値が01であるかを決定します。

チーム名が Cavs で、ポイント値が 20 より大きい行が 2 行あることがわかります。

これら 2 つの行には、新しいcavs_and_20列の値1 が割り当てられます。

両方の条件を満たす行は他にないため、他のすべての行はcavs_and_20列に値0を受け取ります。

追加リソース

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

SAS で変数の名前を変更する方法
SAS で新しい変数を作成する方法
SAS で文字列内の文字を置換する方法

コメントを追加する

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