欠損値に対して使用できる関数

データ内の欠損値を処理する場合、いくつかの方法があります。 Data Refinery またはノードで使用可能な機能を使用することを選択できます。

SPSS Modeler で使用可能な関数

SPSS Modelerには、欠損値を処理するために使用される関数がいくつかあります。 条件抽出ノードや置換ノードで欠損値を破棄したり、値を代入するためによく用いられる関数を次に示します。

  • count_nulls(LIST
  • @BLANK(FIELD
  • @NULL(FIELD
  • undef

@ 関数と @FIELD 関数を組み合わせて使用すると、1 つ以上のフィールドに空白やヌル値が含まれていないかどうかを確認することができます。 空白やヌル値が見つかった場合は、そのフィールドにフラグを付けるか、別の値を設定します。または、検出された空白やヌル値を各種の操作で使用することもできます。

次に示すように、フィールドのリスト全般にわたってヌルをカウントできます。

count_nulls(['cardtenure' 'card2tenure' 'card3tenure'])

フィールドのリストを入力として受け入れる関数を使用する場合は、特殊関数の @FIELDS_BETWEEN@FIELDS_MATCHING を使用することができます。以下に例を示します。

count_nulls(@FIELDS_MATCHING('card*'))

undef 関数を使用すると、 $null$として表示されるシステム欠損値をフィールドに入力できます。 例えば、数値を置換するには、次のような条件ステートメントを使用できます。

if not(Age > 17) or not(Age < 66) then undef else Age endif

これは、$null $ として表示されるシステム欠損値の範囲内にないものに置き換わります。not() 関数を使用すると、負の値も含めて、他のすべての数値をキャッチできます。

レコードの破棄に関する注: 条件抽出ノードを使用してレコードを破棄する場合、構文では 3 値論理が使用され、自動的に選択ステートメントに NULL 値が含まれることに注意してください。 選択した式からヌル値 (システム欠損値) を除外するには、式で and not を使用して、これを明示的に指定する必要があります。 例えば、処方薬のタイプが Drug Cであるすべてのレコードを選択して含めるには、次の select ステートメントを使用します。
Drug = 'drugC' and not(@NULL(Drug))

Data Refinery で使用できる関数

Data Refinery を使用して、欠損値を処理することもできます。 以下の情報を参照してください。