exponenta event banner

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' и один из вариантов в этой таблице. '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