Sas で欠損値のある行を削除する方法


次の基本構文を使用して、SAS のデータセットから欠損値のある行を削除できます。

 data new_data;
    set my_data;
    if cmiss(of _all_) then delete;
run ;

この特定の例では、 my_dataという元のデータセット内の欠損値を持つすべての行が削除された、 new_dataという新しいデータセットを作成します。

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

例: SAS で欠損値のある行を削除する

SAS に、さまざまなバスケットボール チームに関する情報を含む次のデータセットがあるとします。

 /*create dataset*/
data my_data;
    input team $points assists;
    datalines ;
Mavs 113 22
Pacers 95.
Cavs. .
Lakers 114 20
Heat 123 39
Kings. 22
Raptors 105 11
Hawks 95 25
Magic 103 26
Spurs 119.
;
run ;

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

値が欠落している行がいくつかあることに注意してください。

次のコードを使用して、列に欠損値がある既存のデータセットからすべての行を削除する新しいデータセットを作成できます。

 /*create new dataset that removes rows with missing values from existing dataset*/
data new_data;
    set my_data;
    if cmiss(of _all_) then delete;
run ;

/*view new dataset*/
proc print data =new_data;

欠損値のあるすべての行がデータセットから削除されていることがわかります。

注意 #1 : CMISS関数の_all_引数は、SAS が各行のすべての列で欠損値を検索することを指定します。

注 #2 : CMISS機能の完全なドキュメントはここで見つけることができます。

追加リソース

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

SAS で重複を削除する方法
SAS で欠損値を数える方法
SAS で欠損値をゼロに置き換える方法

コメントを追加する

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