Sas で行を削除する方法 (3 つの例)
SAS で行を削除する最も一般的な 3 つの方法は次のとおりです。
方法 1: 単一の条件に基づいて行を削除する
data new_data;
set original_data;
if var1 = " string " then delete;
run ;
方法 2: 複数の条件に基づいて行を削除する
data new_data;
set original_data;
if var1 = " string " and var2 < 10 then delete;
run ;
方法 3: 次のいずれかの条件に基づいて行を削除する
data new_data;
set original_data;
if var1 = " string " or var2 < 10 then delete;
run ;
次の例は、SAS の次のデータセットで各メソッドを使用する方法を示しています。
/*create dataset*/
data original_data;
input team $position $points;
datalines ;
A Guard 15
A Guard 19
A Guard 22
A Forward 25
A Forward 27
B Guard 11
B Guard 13
B Forward 19
B Forward 22
B Forward 26
;
run ;
/*view dataset*/
proc print data = original_data;
例 1: 条件に基づいて行を削除する
次のコードは、チームが「A」に等しいすべての行をデータセットから削除する方法を示しています。
/*create new dataset*/
data new_data;
set original_data;
if team = " A " then delete;
run ;
/*view new dataset*/
proc print data = new_data;
チームが「A」に等しい行はすべて削除されていることに注意してください。
例 2: 複数の条件に基づいて行を削除する
次のコードは、チームが「A」に等しく、ポイントが 20 未満であるすべての行をデータセットから削除する方法を示しています。
/*create new dataset*/
data new_data;
set original_data;
if team = " A " and points < 20 then delete;
run ;
/*view new dataset*/
proc print data = new_data;
チームが「A」に等しく、ポイントが20 未満だった 2 つの行が削除されていることに注意してください。
例 3: いくつかの条件の 1 つに基づいて行を削除する
次のコードは、チームが「A」に等しいかポイントが 20 未満であるすべての行をデータセットから削除する方法を示しています。
/*create new dataset*/
data new_data;
set original_data;
if team = " A " or points < 20 then delete;
run ;
/*view new dataset*/
proc print data =new_data;
チームが「A」に等しいか、ポイントが20 未満だった 8 つの行が削除されていることに注意してください。
追加リソース
次のチュートリアルでは、SAS で他の一般的なタスクを実行する方法について説明します。