ismissing

Найти отсутствующие значения

Описание

пример

TF = ismissing(A) возвращает логический массив, который указывает, какие элементы массива или таблицы содержат отсутствующие значения. Размер TF совпадает с размером A.

Стандартные отсутствующие значения зависят от типа данных:

  • NaN для double, single, duration, и calendarDuration

  • NaT для datetime

  • <missing> для string

  • <undefined> для categorical

  • ' ' для char

  • {''} для cell векторов символов

пример

TF = ismissing(A,indicator) обрабатывает значения в indicator как отсутствующее значение индикаторы, игнорируя все индикаторы по умолчанию, перечисленные в предыдущем синтаксисе. indicator может быть одним индикатором или несколькими индикаторами. Для примера, если A является массивом типов double, затем ismissing(A,[0,-99]) обрабатывает 0 и -99 как отсутствующие double значения вместо NaN.

Примеры

свернуть все

Создайте вектор-строку A который содержит NaN значения и идентифицируют их местоположение в 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       {0x0 char  }       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 возвращает 1, где соответствующий элемент в A имеет отсутствующее значение.

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', '', -99, NaN, и Inf представлять отсутствующие значения. Затем найдите элементы с отсутствующими значениями.

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      {0x0 char}       E   
       7          7      {'NA'    }           
       9        -99      {'nine'  }       I   

ismissing возвращает 1, где соответствующий элемент в A имеет отсутствующее значение.

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 как отсутствующие значения.

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

свернуть все

Входные данные, заданные как вектор, матрица, многомерный массив, таблица или timetable.

Если A является расписанием, тогда ismissing работает только с данными таблицы и игнорирует NaT или NaN значения в векторе времени строки.

Когда входной параметр является массивом ячеек, это должен быть массив ячеек с векторами символов. Если вход является таблицей или расписанием с переменной типа cell, затем ismissing обнаруживает отсутствующие элементы только, когда переменная является массивом ячеек из векторов символов.

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

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

Записи indicator указать значения, которые ismissing относится к отсутствующим. Определение indicator переопределяет все стандартные отсутствующие индикаторы по умолчанию. Если вы хотите добавить индикаторы при сохранении списка стандартных индикаторов, то необходимо включить все индикаторы по умолчанию в качестве элементов indicator. Для примера, если A - таблица с categorical и числовые значения, используйте ismissing(A,{-99,'<undefined>'}) для указания -99 как отсутствующее числовое значение, но сохраните <undefined> как отсутствующее categorical значение.

Можно также использовать missing значение как индикатор для всех отсутствующих данных, представленных как NaN, NaT, missing, или <undefined>. Если ваш вход является таблицей, то missing также является индикатором отсутствующих векторов символов (' ') и отсутствующие массивы ячеек векторов символов ({''}).

Типы данных индикатора совпадают с типами данных в записях A. Ниже приведены дополнительные типы данных, совпадающие между индикатором и элементами A:

  • double индикаторы совпадают с double, single, целое число и logical записи A.

  • string и char индикаторы и индикаторы, которые являются массивами ячеек векторов символов, соответствуют string записи A.

  • string и char индикаторы совпадают с categorical записи A.

Пример: TF = ismissing(A,0) распознает только 0 как отсутствующее значение.

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

Совет

  • Поскольку целочисленные переменные не могут хранить NaN, используйте специальное целое значение (в противном случае не используется), чтобы указать отсутствующие целочисленные данные, такие как -99.

  • Для получения дополнительной информации о поиске отсутствующих строк смотрите Тест на Пустые строки и Отсутствующие значения.

Алгоритмы

ismissing по-разному обрабатывает начальное и конечное пустое пространство для индикаторов, которые являются массивами ячеек векторов символов, символьных массивов или категориальных массивов.

  • Для массивов ячеек векторов символов, ismissing не игнорирует белое пространство индикатора. Все векторы символов должны точно совпадать.

  • Для символьных массивов в табличных переменных, ismissing игнорирует конечный пробел в индикаторе.

  • Для категориальных массивов ismissing игнорирует начальное и конечное пустое пространство в индикаторе.

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

Генерация кода C/C + +
Сгенерируйте код C и C++ с помощью Coder™ MATLAB ®

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