Sas: 文字列を含む行をフィルタリングする


次のメソッドを使用して、特定の文字列を含む行の SAS データセットをフィルタリングできます。

方法 1: 特定の文字列を含む行をフィルターする

 /*filter rows where var1 contains "string1"*/
data specific_data;
    set original_data;
    where var1 contains ' string1 ';
run ;

方法 2: 複数の文字列の中から 1 つの文字列を含む行をフィルタリングする

 /*filter rows where var1 contains "string1", "string2", or "string3"*/
data specific_data;
    set original_data;
    where var1 in (' string1 ', ' string2 ', ' string3 ');
run ;

次の例は、SAS の次のデータセットで各メソッドを使用する方法を示しています。

 /*create dataset*/
data nba_data;
    input team $points;
    datalines ;
Mavs 95
Spurs 99
Warriors 104
Rockets 98
Heat 95
Nets 90
Magic 99
Cavs 106
;
run ;

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

方法 1: 特定の文字列を含む行をフィルターする

次のコードは、チーム列に文字列「avs」を含む行のデータセットをフィルターする方法を示しています。

 /*filter rows where team contains the string 'avs'*/
data specific_data;
    set nba_data;
    where team contains ' avs ';
run ;

/*view resulting rows*/
proc print data = specific_data;

表示されているのは、チーム列の名前に「avs」が含まれている 2 行だけです。

方法 2: 複数の文字列のいずれかを含む行をフィルターする

次のコードは、チーム列に文字列「Mavs」、「Nets」、または「Rockets」を含む行のデータセットをフィルターする方法を示しています。

 /*filter rows where team contains the string 'Mavs', 'Nets', or 'Rockets'*/
data specific_data;
    set nba_data;
    where team in (' Mavs ', ' Nets ', ' Rockets ');
run ;

/*view resulting rows*/
proc print data = specific_data;

結果のデータセットには、指定した 3 つの文字列のいずれかがチーム列に含まれる行のみが表示されます。

追加リソース

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

SAS でデータを正規化する方法
SAS で変数の名前を変更する方法
SAS で重複を削除する方法
SAS で欠損値をゼロに置き換える方法

コメントを追加する

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