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 内の他の変数は、標準化されずに出力に渡されます。

オプション説明
変数名

単一の table 変数名を指定する文字ベクトルまたは string スカラー

'Var1'

"Var1"

変数名のベクトル

各要素が table 変数名である、文字ベクトルの cell 配列または string 配列

{'Var1' 'Var2'}

["Var1" "Var2"]

変数インデックスのスカラーまたはベクトル

table 変数インデックスのスカラーまたはベクトル

1

[1 3 5]

logical ベクトル

各要素が table 変数に対応する logical ベクトル。true の場合は対応する変数を含めて、false の場合は対応する変数を除外します。

[true false true]

関数ハンドル

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

@isnumeric

vartype 添字

関数 vartype によって生成される table の添字

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 で導入

すべて展開する