Sas: put と input の違い


SAS のPUT関数とINPUT関数を使用して、変数を別のデータ型に変換できます。

2 つの関数の違いは次のとおりです。

PUT関数は、文字変数または数値変数を入力として受け取り、常に文字変数を出力します

INPUT関数は文字変数のみを入力として受け取り、文字変数または数値変数を出力できます

次の例は、実際にPUT関数とINPUT関数を使用する 2 つの一般的な方法を示しています。

例 1: PUT を使用して数値変数を文字変数に変換する

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;

その売上はどちらも数値変数であることがわかります。

PUT関数を使用して、 day変数を数値から文字に変換できます。

 /*create new dataset where 'day' is character*/
data new_data;
    set original_data;
    char_day = put (day, 8.);
    drop day;
run ;

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

再びproc の内容を使用して、新しいデータセット内の各変数のデータ型を確認できます。

 /*display data type for each variable in new dataset*/
proc contents data =new_data; 

PUT関数を使用して、 day変数を数値からchar_dayという新しい文字変数に変換することに成功しました。

例 2: INPUT を使用して文字変数を数値変数に変換する

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 は数値変数であることがわかります。

INPUT関数を使用して、 day変数を文字から数値に変換できます。

 /*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; 

再びproc の内容を使用して、新しいデータセット内の各変数のデータ型を確認できます。

 /*display data type for each variable in new dataset*/
proc contents data = new_data; 

INPUT関数を使用して、 day変数を文字変数からnumeric_dayという新しい数値変数に変換することに成功しました。

追加リソース

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

SAS: 文字変数を数値に変換する方法
SAS: 数値変数を文字に変換する方法
SAS: 文字変数を日付に変換する方法
SAS: 数値変数を日付に変換する方法

コメントを追加する

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