ismissing

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

Описание

пример

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

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

  • NaN для doubleединственныйдлительность, и 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', '', -99NaN, и 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 как отсутствующие значения.

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

свернуть все

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

Если 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 значение как индикатор для любых недостающих данных, представленных как NaNNATпропавшие без вести, или <undefined>. Если ваш вход является таблицей, то missing также индикатор для векторов отсутствующего символа (' ') и недостающие массивы ячеек из символьных векторов ({''}).

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

  • double индикаторы совпадают с doubleединственный, целое число и 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++ с помощью MATLAB® Coder™.

Введенный в R2013b