Sas で文字列から数値を抽出する方法


SAS で文字列から数値を抽出する最も簡単な方法は、「A」修飾子を付けてCOMPRESS関数を使用することです。

この関数は次の基本構文を使用します。

 data new_data;
    set original_data;
    numbers_only = compress(some_string, '', ' A ');
run ;

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

例: SAS の文字列から数値を抽出する

SAS に大学のさまざまなコースの名前を示す次のデータセットがあるとします。

 /*create dataset*/
data original_data;
    input course $12.;
    datalines ;
Stats101
Economics203
Business201
Botany411
Calculus101
English201
Chemistry402
Physics102
;
run ;

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

次のコードを使用して、各コース名から数字だけを抽出できます。

 /*extract numbers from course column*/
data new_data;
    set original_data;
    course_number_only = compress (course, '', ' A ');
run ;

/*view results*/
proc print data = new_data; 

course_number_onlyという新しい列には、 course列の文字列の数値のみが含まれることに注意してください。

各文字列から文字のみを抽出したい場合は、「d」修飾子を付けてCOMPRESS関数を使用できます。

 /*extract characters from course column*/
data new_data;
    set original_data;
    course_characters_only = compress (course, '', ' d ');
run ;

/*view results*/
proc print data = new_data; 

course_characters_onlyという新しい列には、 course列の文字列の数値のみが含まれることに注意してください。

: COMPRESS関数の修飾子の完全なリストは、このSAS ドキュメントページで見つけることができます。

追加リソース

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

SAS でデータを正規化する方法
SAS で外れ値を特定する方法
SAS で度数表を作成する方法

コメントを追加する

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