Main Content

standardizeMissing

標準の欠損値を挿入

説明

B = standardizeMissing(A,indicator) は、indicator で指定された値を、A 内で標準の欠損値に置き換え、標準化された配列または table を返します。

欠損値は、A のデータ型にしたがって定義されます。

  • NaNdoublesingleduration および calendarDuration

  • NaTdatetime

  • <missing>string

  • <undefined>categorical

  • {''} — 文字ベクトルの cell

A が table の場合、各変数のデータ型がその変数の欠損値を定義します。

B = standardizeMissing(___,Name,Value) は、1 つ以上の名前と値の引数を使用して、欠損値を標準化するための追加パラメーターを指定します。たとえば standardizeMissing(A,indicator,'DataVariables',datavars) は、A が table または timetable である場合、datavars で指定された変数の欠損値を標準化します。

すべて折りたたむ

行ベクトルを作成し、-99 のすべてのインスタンスを double データ型の標準の欠損値 NaN に置き換えます。

A = [0 1 5 -99 8 3 4 -99 16];
B = standardizeMissing(A,-99)
B = 1×9

     0     1     5   NaN     8     3     4   NaN    16

欠損値を表す Inf および 'N/A' を含む table を作成します。

dblVar = [NaN;3;Inf;7;9];
cellstrVar = {'one';'three';'';'N/A';'nine'};
charVar = ['A';'C';'E';' ';'I'];
categoryVar = categorical({'red';'yellow';'blue';'violet';''});

A = table(dblVar,cellstrVar,charVar,categoryVar)
A=5×4 table
    dblVar    cellstrVar    charVar    categoryVar
    ______    __________    _______    ___________

     NaN      {'one'   }       A       red        
       3      {'three' }       C       yellow     
     Inf      {0x0 char}       E       blue       
       7      {'N/A'   }               violet     
       9      {'nine'  }       I       <undefined>

Inf のすべてのインスタンスを NaN に置き換え、'N/A' のすべてのインスタンスを空の文字ベクトル '' に置き換えます。

B = standardizeMissing(A,{Inf,'N/A'})
B=5×4 table
    dblVar    cellstrVar    charVar    categoryVar
    ______    __________    _______    ___________

     NaN      {'one'   }       A       red        
       3      {'three' }       C       yellow     
     NaN      {0x0 char}       E       blue       
       7      {0x0 char}               violet     
       9      {'nine'  }       I       <undefined>

table の指定された変数で発生する Inf および 'N/A' のインスタンスを標準の欠損値インジケーターに置き換えます。

欠損値を表す Inf および 'N/A' を含む table を作成します。

a = {'alpha';'bravo';'charlie';'';'N/A'};
x = [1;NaN;3;Inf;5];
y = [57;732;93;1398;Inf];

A = table(a,x,y)
A=5×3 table
         a          x      y  
    ___________    ___    ____

    {'alpha'  }      1      57
    {'bravo'  }    NaN     732
    {'charlie'}      3      93
    {0x0 char }    Inf    1398
    {'N/A'    }      5     Inf

変数 a および変数 x については、Inf のインスタンスを NaN に置き換え、'N/A' のインスタンスを空の文字ベクトル '' に置き換えます。

B = standardizeMissing(A,{Inf,'N/A'},'DataVariables',{'a','x'})
B=5×3 table
         a          x      y  
    ___________    ___    ____

    {'alpha'  }      1      57
    {'bravo'  }    NaN     732
    {'charlie'}      3      93
    {0x0 char }    NaN    1398
    {0x0 char }      5     Inf

変数 yInf は変更されません。これは、y が名前と値の引数 DataVariables に含まれていないからです。

入力引数

すべて折りたたむ

入力データ。ベクトル、行列、多次元配列、table または timetable として指定します。A が timetable の場合、standardizeMissing は table データに対してのみ操作を実行し、行時間のベクトルにある NaT 値と NaN 値を無視します。

データ型: double | single | char | string | cell | table | timetable | categorical | datetime | duration

非標準の欠損値インジケーター。スカラー、ベクトル、または cell 配列として指定します。indicator の要素は、standardizeMissing が欠損値として扱う値を定義します。A が配列の場合、indicator はベクトルでなければなりません。A が table または timetable の場合、indicator は複数のデータ型のエントリをもつ cell 配列にすることもできます。

indicator で指定されたデータ型は、A の対応するエントリ内のデータ型と一致します。以下は indicator の要素と A の要素間で一致する追加のデータ型です。

  • double インジケーターは、Adoublesingle、整数および logical のエントリに一致します。

  • string および char インジケーターは、Acategorical エントリと一致します。

例: B = standardizeMissing(A,'N/A') は、文字ベクトル 'N/A' を空の文字ベクトル '' に置き換えます。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char | string | cell | datetime | duration

名前と値の引数

引数のオプションのペアを Name1=Value1,...,NameN=ValueN として指定します。ここで Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後になければなりませんが、ペアの順序は重要ではありません。

R2021a より前では、コンマを使用してそれぞれの名前と値を区切り、Name を引用符で囲みます。

例: standardizeMissing(T,indicator,'ReplaceValues',false)

演算の対象とする table 変数。次の表のオプションのいずれかとして指定します。DataVariables の値は、入力 table 内のどの変数を埋めるかを示します。

DataVariables で指定されていない table 内の他の変数は、標準化されずに出力に渡されます。

インデックス方式

変数名:

  • string、文字ベクトル、または cell 配列

  • pattern オブジェクト

  • "A" または 'A'A という名前の変数

  • ["A","B"] または {'A','B'}A および B という名前の 2 つの変数

  • "Var"+digitsPattern(1)"Var" の後に数字 1 桁が続く名前の変数

変数インデックス:

  • table 内の変数の位置を参照するインデックス番号

  • 数値のベクトル

  • logical ベクトル。通常、このベクトルの長さは変数の数と同じですが、末尾の 0 値や false 値は省略できます。

  • 3 — table の 3 番目の変数

  • [2 3] — table の 2 番目と 3 番目の変数

  • [false false true] — 3 番目の変数

関数ハンドル:

  • 入力として table 変数をとり、logical スカラーを返す関数ハンドル

  • @isnumeric — 数値を含んでいるすべての変数

変数の型:

  • 指定した型の変数を選択する vartype 添字

  • vartype("numeric") — 数値を含んでいるすべての変数

例: standardizeMissing(T,indicator,'DataVariables',["Var1" "Var2" "Var4"])

値置換インジケーター。A が table または timetable の場合に、次の値のいずれかとして指定します。

  • true または 1 — 欠損エントリを含む入力 table 変数を、標準化された table 変数に置き換えます。

  • false または 0 — 欠損エントリをチェック済みのすべての table 変数を含む入力 table を追加します。追加される変数の欠損エントリは標準化されます。

入力データがベクトル、行列、または多次元配列の場合、ReplaceValues はサポートされません。

B は、ReplaceValues の値が false の場合を除き、A と同じサイズになります。ReplaceValues の値が false の場合、B の幅は入力データの幅と指定したデータ変数の数の合計となります。

例: standardizeMissing(T,indicator,'ReplaceValues',false)

アルゴリズム

standardizeMissing は、文字ベクトルの cell 配列、文字配列および categorical 配列の先頭と末尾の空白を異なる方法で処理します。

  • 文字ベクトルの cell 配列の場合、standardizeMissing は空白を無視しません。すべての文字ベクトルは、indicator に指定された文字ベクトルに厳密に一致していなければなりません。

  • 文字配列の場合、standardizeMissing は、末尾の空白を無視します。

  • categorical 配列の場合、standardizeMissing は、先頭と末尾の空白を無視します。

拡張機能

バージョン履歴

R2013b で導入

すべて展開する