rmmissing

Удалить отсутствующие записи

Описание

пример

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

  • NaNdouble, single, duration, и calendarDuration

  • NaTdatetime

  • <missing>string

  • <undefined>categorical

  • ' 'char

  • {''}cell от символьных массивов

пример

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' и один из опций в этой таблице. The 'DataVariables' значение указывает, какие переменные таблицы входа необходимо проверить на отсутствующие значения. Другие переменные в таблице, не заданные 'DataVariables' пройти к выходу без проверки на отсутствующие значения. При работе с строками A, rmmissing удаляет любую строку, которая имеет отсутствующие данные в столбцах, соответствующих заданным переменным. При работе с столбцами A, rmmissing удаляет указанные переменные из таблицы.

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

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

'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 и размерность операции.

Типы данных: logical

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

.
Введенный в R2016b