Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

rmmissing

欠損エントリを削除

説明

R = rmmissing(A) は、欠損エントリを配列または table から削除します。A がベクトルの場合、rmmissing は欠損データを含むすべてのエントリを削除します。A が行列または table の場合、rmmissing は欠損データを含むすべての行を削除します。

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

  • NaNdoublesingleduration および calendarDuration

  • NaTdatetime

  • <missing>string

  • <undefined>categorical

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

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

R = rmmissing(A,dim) は、動作する対象の A の次元を指定します。既定では、rmmissing はサイズが 1 に等しくない最初の次元に沿って動作します。

R = rmmissing(___,Name,Value) は、1 つ以上の名前と値の引数を使用して、欠損エントリを削除するための追加のパラメーターを指定します。たとえば、rmmissing(A,'MinNumMissing',n) を使用して、少なくとも n 個の欠損値を含む A の行を削除できます。

[R,TF] = rmmissing(___) は、A の削除された行または列に対応する logical ベクトルも返します。

すべて折りたたむ

NaN 値をもつベクトルを作成し、各 NaN を削除します。

A = [1 3 NaN 6 NaN];
R = rmmissing(A)
R = 1×3

     1     3     6

複数のデータ型をもつ table から不完全な行を削除します。

まず、categoricaldouble および char のデータ型を含む複数の変数をもつ table を作成します。

A = table(categorical({''; 'F'; 'M'}),[45; 32; NaN],{''; 'CA'; 'MA'},[6051; 7234; NaN],...
    'VariableNames',{'Gender' 'Age' 'State' 'ID'})
A=3×4 table
      Gender       Age      State        ID 
    ___________    ___    __________    ____

    <undefined>     45    {0x0 char}    6051
    F               32    {'CA'    }    7234
    M              NaN    {'MA'    }     NaN

table から欠損データを含むすべての行を削除します。

R = rmmissing(A)
R=1×4 table
    Gender    Age    State      ID 
    ______    ___    ______    ____

      F       32     {'CA'}    7234

table 変数 Age または ID から欠損値がある行だけを削除します。

R = rmmissing(A,'DataVariables',{'Age','ID'})
R=2×4 table
      Gender       Age      State        ID 
    ___________    ___    __________    ____

    <undefined>    45     {0x0 char}    6051
    F              32     {'CA'    }    7234

あるいは、関数 isnumeric を使用して、動作対象の数値変数を識別します。

R = rmmissing(A,'DataVariables',@isnumeric)
R=2×4 table
      Gender       Age      State        ID 
    ___________    ___    __________    ____

    <undefined>    45     {0x0 char}    6051
    F              32     {'CA'    }    7234

欠損データをもつ行列を作成し、2 つ以上の欠損値がある列 (2 番目の次元) をすべて削除します。新しい行列と、A の削除された列を示す logical 行ベクトルを返します。

A = [NaN NaN 5 3 NaN 5 7 NaN 9 2;
     8 9 NaN 1 4 5 6 5 NaN 5;
     NaN 4 9 8 7 2 4 1 NaN 3]
A = 3×10

   NaN   NaN     5     3   NaN     5     7   NaN     9     2
     8     9   NaN     1     4     5     6     5   NaN     5
   NaN     4     9     8     7     2     4     1   NaN     3

[R,TF] = rmmissing(A,2,'MinNumMissing',2)
R = 3×8

   NaN     5     3   NaN     5     7   NaN     2
     9   NaN     1     4     5     6     5     5
     4     9     8     7     2     4     1     3

TF = 1x10 logical array

   1   0   0   0   0   0   0   0   1   0

入力引数

すべて折りたたむ

入力データ。ベクトル、行列、文字ベクトルの cell 配列、table、または timetable として指定します。

  • Atimetable の場合、rmmissing(A)A の欠損データを含む行をすべて削除し、対応する時間ベクトル要素も削除します。時間ベクトルに NaT または NaN が含まれる場合、rmmissing(A) はそれを時間ベクトルから削除し、A の対応する行も削除します。

  • A が cell 配列、または cell 配列変数をもつ table の場合、ismissing は cell 配列が文字ベクトルを含む場合のみ欠損要素を検出します。

演算の対象の次元。1 または 2 を指定します。既定では、rmmissing はサイズが 1 に等しくない最初の次元に沿って動作します。

mn 列の入力行列配列 A を考えます。

  • rmmissing(A,1) は、欠損データを含んでいる A の行を削除。

    rmmissing(A,1) row removal

  • rmmissing(A,2) は、欠損データを含んでいる A の列を削除。

    rmmissing(A,2) column removal

名前と値の引数

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

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

例: rmmissing(A,'DataVariables',{'Temperature','Altitude'}) は、A の行のうち変数 Temperature または Altitude に欠損データが含まれるものを削除します。

行または列を削除するために必要な欠損エントリの最小数。非負のスカラーとして指定します。既定値は 1 です。

例: rmmissing(A,'MinNumMissing',6)

演算の対象とする 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") — 数値を含んでいるすべての変数

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

出力引数

すべて折りたたむ

欠損エントリが削除されたデータ。ベクトル、行列、table または timetable として返されます。R のサイズは削除された行または列の数に依存します。

削除されたエントリのインジケーター。logical ベクトルとして返されます。値 1 (true) は A の削除された行または列に対応します。値 0 (false) は変更されていない行または列に対応します。TF の向きとサイズは、A および動作対象の次元に依存します。

データ型: logical

ヒント

  • 入力データが構造体配列、または文字ベクトル以外の cell 配列である場合、rmmissing はいずれのエントリも削除しません。構造体配列から欠損エントリを削除するには、関数 structfun を使用して、構造体の各フィールドに rmmissing を適用します。文字ベクトル以外の cell 配列から欠損エントリを削除するには、関数 cellfun を使用して、cell 配列の各 cell に rmmissing を適用します。

拡張機能

バージョン履歴

R2016b で導入

すべて展開する