Sas で if-then-do を使用する方法 (例あり)


SAS でIF-THEN-DOステートメントを使用すると、条件が true の場合にステートメントのブロックを実行できます。

このステートメントでは、次の基本構文を使用します。

 if var1 = " value " then do ;
    new_var2 = 10;
    new_var3 = 5;
end ;

: IF-THEN ステートメントは、単一のステートメントを実行する場合に使用します。 IF-THEN-DO ステートメントは、複数のステートメントを実行する場合に使用します。

次の例は、 IF-THEN-DOステートメントを実際に使用する方法を示しています。

例: SAS の IF-THEN-DO

SAS に、2 つの店舗による連続した日の合計売上高を示す次のデータセットがあるとします。

 /*create dataset*/
data original_data;
    input store $sales;
    datalines ;
At 14
At 19
At 22
At 20
At 16
At 26
B40
B43
B29
B 30
B35
B 33
;
run ;

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

次の IF-THEN-DO ステートメントを使用して、ストアが元のデータセットの「A」と等しい場合に特定の値を取る 2 つの新しい変数を作成できます。

 /*create new dataset*/
data new_data;
set original_data;
if store = " A " then do ;
    region=" East ";
    country=" Canada ";
end ;
run ;

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

SAS の IF-THEN-DO ステートメント

このコード部分がどのように機能するかは次のとおりです。

店舗が「A」に等しい場合、 regionという新しい変数が値「East」で作成され countryという新しい変数が値「Canada」で作成されます。

複数の IF-THEN-DO ステートメントを使用することもできることに注意してください。

 /*create new dataset*/
data new_data;
set original_data;

if store = " A " then do ;
    region=" East ";
    country=" Canada ";
end ;

    if store = " B " then do ;
    region=" West ";
    country=" USA ";
    end ; 
run ;

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

このコード部分がどのように機能するかは次のとおりです。

  • 店舗が「A」に等しい場合、 regionという新しい変数が値「East」で作成され、 countryという新しい変数が値「Canada」で作成されます。
  • ストアが「B」に等しい場合、地域の値は「West」、国の値は「United States」になります。

追加リソース

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

SAS でデータを正規化する方法
SAS で重複を削除する方法
SAS で欠損値をゼロに置き換える方法

コメントを追加する

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