Sas で scan 機能を使用する方法 (例付き)
SAS のSCAN関数を使用して、文字列からn 番目の単語を抽出できます。
この関数は次の基本構文を使用します。
SCAN (文字列、数値)
金:
- string : 解析する文字列
- count : 抽出するn 番目の単語
この機能を使用する最も一般的な 3 つの方法は次のとおりです。
方法 1: 文字列からn 番目の単語を抽出する
data new_data;
set original_data;
second_word = scan (string_variable, 2 );
run ;
方法 2: 文字列から最後の単語を抽出する
data new_data;
set original_data;
last_word = scan (string_variable, -1 );
run ;
方法 3: 文字列から複数の単語を抽出する
data new_data;
set original_data;
first_word = scan (string_variable, 1 );
second_word = scan (string_variable, 2 );
third_word = scan (string_variable, 3 );
run ;
次の例は、SAS の次のデータセットで各メソッドを使用する方法を示しています。
/*create dataset*/
data original_data;
input name $20. dirty;
datalines ;
Andy Lincoln Bernard 55
Barren Michael Smith 41
Chad Simpson Arnolds 13
Derrick Parson Henry 29
Eric Miller Johansen 47
Frank Giovanni Goode 61
;
run ;
/*view dataset*/
proc print data = original_data;
例 1: 文字列からn 番目の単語を抽出します。
次のコードは、 name列の各文字列から 2 番目の単語を抽出する方法を示しています。
/*extract second word in each row of name column*/
data new_data;
set original_data;
second_word = scan (name, 2 );
run ;
/*view results*/
proc print data =new_data;
Second_wordという新しい列には、 name列の各文字列の 2 番目の単語が含まれることに注意してください。
例 2: 文字列から最後の単語を抽出する
次のコードは、scan 関数で-1値を使用して、 name列の各文字列の最後の単語を抽出する方法を示しています。
/*extract last word in each row of name column*/
data new_data;
set original_data;
last_word = scan (name, -1 );
run ;
/*view results*/
proc print data =new_data;
last_wordという新しい列には、 name列の各文字列の最後の単語が含まれることに注意してください。
例 3: 文字列から複数の単語を抽出する
次のコードは、scan 関数を使用して、 name列の各文字列から各単語を抽出する方法を示しています。
/*extract each word in each row of name column*/
data new_data;
set original_data;
first_word = scan (name, 1 );
second_word = scan (name, 2 );
third_word = scan (name, 3 );
run ;
/*view results*/
proc print data =new_data;
name列の各文字列の最初、2 番目、および 3 番目の単語を含む 3 つの新しい列が作成されたことに注意してください。
追加リソース
次のチュートリアルでは、SAS で他の一般的なタスクを実行する方法について説明します。
SAS で SUBSTR 関数を使用する方法
SAS で FIND 関数を使用する方法
SAS での COALESCE 機能の使用方法