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 で他の一般的なタスクを実行する方法について説明します。