Sas: 文字変数を数値に変換する方法
SAS のinput()関数を使用して、文字変数を数値変数に変換できます。
この関数は次の基本構文を使用します。
numeric_var = input (character_var, comma9. );
次の例は、この関数を実際に使用する方法を示しています。
例: SAS で文字変数を数値に変換する
SAS に、連続 10 日間の店舗の総売上高を示す次のデータセットがあるとします。
/*create dataset*/ data original_data; input day $sales; datalines ; 1 7 2 12 3 15 4 14 5 13 6 11 7 10 8 16 9 18 10 24 ; run ; /*view dataset*/ proc print data = original_data;
プロシージャの内容を使用して、データセット内の各変数のデータ型を表示できます。
/*display data type for each variable*/
proc contents data =original_data;
dayは文字変数、 sales は数値変数であることがわかります。
次のコードを使用して、日変数を文字から数値に変換する新しいデータセットを作成できます。
/*create new dataset where 'day' is numeric*/
data new_data;
set original_data;
numeric_day = input (day, comma9. );
drop day;
run ;
/*view new dataset*/
proc print data = new_data;
注: データセットから元の日変数を削除するには、 drop関数を使用しました。
再びproc の内容を使用して、新しいデータセット内の各変数のデータ型を確認できます。
/*display data type for each variable in new dataset*/
proc contents data =new_data;
作成した新しい変数numeric_dayが数値変数であることがわかります。
追加リソース
次のチュートリアルでは、SAS で他の一般的なタスクを実行する方法について説明します。