rmmissing

Удалите недостающие записи

Описание

пример

R = rmmissing(A) удаляет недостающие записи из массива или таблицы. Если A вектор, затем rmmissing удаляет любую запись, которая содержит недостающие данные. Если A матрица или таблица, затем rmmissing удаляет любую строку, которая содержит недостающие данные. Отсутствующие значения заданы согласно типу данных A:

  • NaN 'double'единственныйдлительность, и calendarDuration

  • NaT datetime

  • <missing> Строка

  • <undefined> категориальный

  • ' ' 'char'

  • {''} ячейка из символьных массивов

пример

R = rmmissing(A,dim) задает размерность A действовать вперед. По умолчанию, rmmissing действует по первому измерению, размер которого не равняется 1.

пример

R = rmmissing(___,Name,Value) задает дополнительные параметры для удаления недостающих записей с помощью одного или нескольких аргументов пары "имя-значение". Например, можно использовать rmmissing(A,'MinNumMissing',n) удалить строки A это содержит, по крайней мере, n отсутствующие значения.

пример

[R,TF] = rmmissing(___) также возвращает логический вектор, соответствующий строкам или столбцам A это было удалено.

Примеры

свернуть все

Создайте вектор с NaN значения и удаляют каждый NaN.

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

     1     3     6

Удалите неполные строки из таблицы с несколькими типами данных.

Во-первых, составьте таблицу, переменные которой включают categorical'double', и char типы данных.

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

Удалите любую строку таблицы, которая содержит недостающие данные.

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

      F       32     {'CA'}    7234

Только удалите строки с отсутствующими значениями в 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

Создайте матрицу с недостающими данными и удалите любой столбец (второе измерение), содержащее два или больше отсутствующих значения. Возвратите новую матрицу и логический вектор-строку, который указывает который столбцы A были удалены.

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

Входные параметры

свернуть все

Входные данные в виде вектора, матрицы, таблицы или расписания. Если A timetable, затем rmmissing(A) удаляет любую строку A содержание недостающих данных и также удаляет соответствующий элемент временного вектора. Если временной вектор содержит NaT или NaN, затем rmmissing(A) удаляет его из временного вектора и также удаляет соответствующую строку A.

Типы данных: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char | string | cell | table | timetable | categorical | datetime | duration | calendarDuration

Размерность, которая задает направление расчета в виде 1 или 2. По умолчанию, rmmissing действует по первому измерению, размер которого не равняется 1.

Считайте двумерный входной массив A.

  • Если dim=1, затем rmmissing удаляет строки A.

  • Если dim=2, затем rmmissing удаляет столбцы A.

Типы данных: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Аргументы в виде пар имя-значение

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: rmmissing(A,'DataVariables',{'Temperature','Altitude'}) удаляет строки A это содержит недостающие данные в Temperature или Altitude переменные

Минимальное количество недостающих записей, требуемых удалить строку или столбец в виде разделенной запятой пары, состоящей из 'MinNumMissing' и неотрицательный скаляр, который равняется 1 по умолчанию.

Пример: 'MinNumMissing',6

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Табличные переменные, чтобы работать с в виде разделенной запятой пары, состоящей из 'DataVariables' и одна из опций в этой таблице. 'DataVariables' значение указывает который переменные входной таблицы исследовать на отсутствующие значения. Другие переменные в таблице, не заданной 'DataVariables' передайте до выхода, не будучи исследованным на отсутствующие значения. При работе со строками Armmissing удаляет любую строку, которая имеет недостающие данные в столбцах, соответствующих заданным переменным. При работе со столбцами Armmissing удаляет заданные переменные из таблицы.

ОпцияОписаниеПримеры
Имя переменной

Вектор символов или скалярная строка, задающая одно имя табличной переменной

'Var1'

"Var1"

Вектор из имен переменных

Массив ячеек из символьных векторов или массив строк, где каждым элементом является имя табличной переменной

{'Var1' 'Var2'}

["Var1" "Var2"]

Скаляр или вектор из переменных индексов

Скаляр или вектор из индексов табличной переменной

1

[1 3 5]

Логический вектор

Логический вектор, элементы которого каждый соответствует табличной переменной, где true включает соответствующую переменную и false исключает его

[true false true]

Указатель на функцию

Указатель на функцию, который берет табличную переменную в качестве входа и возвращает логический скаляр

@isnumeric

vartype индекс

Табличный индекс, сгенерированный vartype функция

vartype('numeric')

Пример: rmmissing(T,'DataVariables',["Var1" "Var2" "Var4"])

Выходные аргументы

свернуть все

Данные с недостающими удаленными записями, возвратились как вектор, матрица, таблица или расписание. Размер R зависит от количества удаленных строк или столбцов.

Типы данных: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char | string | cell | table | timetable | categorical | datetime | duration | calendarDuration

Удаленный индикатор записи, возвращенный как логический вектор. Значение 1 (true) соответствует строкам или столбцам в R это было удалено. Значение 0 (false) соответствует неизменным строкам и столбцам. Ориентация и размер TF зависит от A и размерность операции.

Типы данных: логический

Расширенные возможности

Введенный в R2017b