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;
このコード部分がどのように機能するかは次のとおりです。
店舗が「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 で他の一般的なタスクを実行する方法について説明します。