ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

ismissing

説明

TF = ismissing(A) は、配列または table のどの要素に欠損値が含まれるかを示す logical 配列を返します。TF のサイズは、A と同じサイズです。

標準の欠損値はデータ型によって異なります。

  • doublesingleduration および calendarDuration の場合は NaN

  • datetime の場合は NaT

  • string の場合は <missing>

  • categorical の場合は <undefined>

  • char の場合は ' '

  • 文字ベクトルの cell の場合は {''}

TF = ismissing(A,indicator)indicator の値を欠損値インジケーターとして扱い、前述の構文でリストされている既定のインジケーターすべてを無視します。indicator は 1 つのインジケーターまたは複数のインジケーターです。たとえば、Adouble 型の配列である場合、ismissing(A,[0,-99]) は 0 と -99 を NaN ではなく double 型の欠損値として扱います。

すべて折りたたむ

NaN 値を含む行ベクトル A を作成して、A 内のそれらの場所を特定します。

A = [3 NaN 5 6 7 NaN NaN 9];
TF = ismissing(A)
TF = 1x8 logical array

   0   1   0   0   0   1   1   0

さまざまなデータ型の変数が存在するテーブルを作成し、欠損値のある要素を検出します。

dblVar = [NaN;3;5;7;9;11;13];
singleVar = single([1;NaN;5;7;9;11;13]);
cellstrVar = {'one';'three';'';'seven';'nine';'eleven';'thirteen'};
charVar = ['A';'C';'E';' ';'I';'J';'L'];
categoryVar = categorical({'red';'yellow';'blue';'violet';'';'ultraviolet';'orange'});
dateVar = [datetime(2015,1:2:10,15) NaT datetime(2015,11,15)]';
stringVar = ["a";"b";"c";"d";"e";"f";missing];

A = table(dblVar,singleVar,cellstrVar,charVar,categoryVar,dateVar,stringVar)
A=7×7 table
    dblVar    singleVar    cellstrVar    charVar    categoryVar      dateVar      stringVar
    ______    _________    __________    _______    ___________    ___________    _________

     NaN           1       'one'            A       red            15-Jan-2015    "a"      
       3         NaN       'three'          C       yellow         15-Mar-2015    "b"      
       5           5       ''               E       blue           15-May-2015    "c"      
       7           7       'seven'                  violet         15-Jul-2015    "d"      
       9           9       'nine'           I       <undefined>    15-Sep-2015    "e"      
      11          11       'eleven'         J       ultraviolet            NaT    "f"      
      13          13       'thirteen'       L       orange         15-Nov-2015    <missing>

ismissing は、A 内の対応する要素に欠損値が含まれる場合、1 を返します。

TF = ismissing(A)
TF = 7x7 logical array

   1   0   0   0   0   0   0
   0   1   0   0   0   0   0
   0   0   1   0   0   0   0
   0   0   0   1   0   0   0
   0   0   0   0   1   0   0
   0   0   0   0   0   1   0
   0   0   0   0   0   0   1

TF のサイズは、A と同じサイズです。

'NA'''-99NaN および Inf が欠損値を表す table を作成します。その後、欠損値をもつ要素を検出します。

dblVar = [NaN;3;Inf;7;9];
int8Var = int8([1;3;5;7;-99]);
cellstrVar = {'one';'three';'';'NA';'nine'};
charVar = ['A';'C';'E';' ';'I'];

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

     NaN          1       'one'           A   
       3          3       'three'         C   
     Inf          5       ''              E   
       7          7       'NA'                
       9        -99       'nine'          I   

ismissing は、A 内の対応する要素に欠損値が含まれる場合、1 を返します。

id = {'NA' '' -99 NaN Inf};
TF = ismissing(A,id)
TF = 5x4 logical array

   1   0   0   0
   0   0   0   0
   1   0   1   0
   0   0   1   1
   0   1   0   0

ismissing は文字配列の末尾の空白を無視します。したがって、空の文字ベクトル '' が欠損値インジケーターとして指定されているため、ismissing は、A.cellstrVar 内の空の文字ベクトルと A.charVar 内の空白スペースを欠損値として識別します。

入力引数

すべて折りたたむ

入力データ。ベクトル、行列、多次元配列、table または timetable として指定します。

A が timetable の場合、ismissing は table データに対してのみ操作を実行し、行時間のベクトルにある NaT 値と NaN 値を無視します。

入力引数が cell 配列である場合、その配列は文字ベクトルの cell 配列でなければなりません。入力が cell 型の変数をもつ table または timetable である場合、変数が文字ベクトルの cell 配列であるときは、ismissing は欠損要素を検出するだけです。

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

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

indicator のエントリは ismissing が欠損しているとして処理する値を示します。indicator を指定すると既定の標準欠損インジケーターがすべてオーバーライドされます。標準インジケーターのリストを保持したままインジケーターを追加するには、すべての既定のインジケーターを indicator の要素として含めなければなりません。たとえば、Acategorical 値と数値をもつ table である場合、ismissing(A,{-99,'<undefined>'}) を使用して、-99 を数値の欠損値として示しますが、categorical の欠損値として <undefined> を保持しなければなりません。

また、missing 値を NaNNaTmissing または <undefined> として表される任意の欠損データのインジケーターとして使用できます。入力が table である場合、missing は欠損文字ベクトル (' ') と文字ベクトルの欠損 cell 配列 ({''}) のインジケーターにもなります。

インジケーター データ型は A のエントリのデータ型と一致します。次はインジケーターと A の要素の間の付加的なデータ型の一致です。

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

  • string および char インジケーターと、文字ベクトルの cell 配列であるインジケーターは、Astring エントリと一致します。

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

例: TF = ismissing(A,0) は、欠損値として 0 だけを認識します。

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

ヒント

  • 整数変数は NaN を保存できないため、欠損している整数データを示すには (他では使われない) 特殊な整数値を使用します (-99 など)。

  • 欠損 string の検出の詳細については、空の string と欠損値のテストを参照してください。

アルゴリズム

ismissing は、文字ベクトルの cell 配列、文字配列または categorical 配列のインジケーターで先頭と末尾の空白を異なる方法で扱います。

  • 文字ベクトルの cell 配列の場合、ismissing はインジケーターの空白を無視しません。すべての文字ベクトルが正確に一致していなければなりません。

  • table 変数の文字配列の場合、ismissing は、インジケーターの末尾の空白を無視します。

  • categorical 配列の場合、ismissing は、インジケーターの先頭と末尾の空白を無視します。

拡張機能

R2013b で導入