isprotected

Определите, защищены ли категории категориального массива

Синтаксис

Описание

пример

tf = isprotected(A) возвращает логический 1 TRUE) если категории A защищены. В противном случае, isprotected возвращает логический 0 ложь).

  • true — Когда вы присваиваете новые значения B, значения должны принадлежать одной из существующих категорий. Поэтому только можно объединить массивы, которые имеют те же категории. Добавить новые категории в B, необходимо использовать addcats функция.

  • false — Когда вы присваиваете новые значения B, категории обновляются автоматически. Поэтому можно объединить (непорядковые) категориальные массивы, которые имеют различные категории. Категории могут обновиться, чтобы включать категории от обоих массивов.

Примеры

свернуть все

Создайте категориальный массив, содержащий размеры 10 объектов. Используйте имена small, medium, и large для значений 'S'M, и 'L'.

valueset = {'S','M','L'};
catnames = {'small','medium','large'};

A = categorical({'M';'L';'S';'S';'M';'L';'M';'L';'M';'S'},...
    valueset,catnames,'Ordinal',true)
A = 10x1 categorical array
     medium 
     large 
     small 
     small 
     medium 
     large 
     medium 
     large 
     medium 
     small 

A категориальный массив 10 на 1.

Отобразите категории A.

categories(A)
ans = 3x1 cell array
    {'small' }
    {'medium'}
    {'large' }

Определите ли категории A защищены.

tf = isprotected(A)
tf = logical
   1

Начиная с A порядковый категориальный массив, категории защищены. При попытке добавить новое значение, которое не принадлежит одной из существующих категорий, например, A(11) = 'xlarge', затем ошибка возвращена.

Во-первых, используйте addcats добавить новую категорию для xlarge.

A = addcats(A,'xlarge','After','large');

Начиная с A защищен, можно теперь добавить значение для xlarge поскольку это имеет существующую категорию.

A(11) = 'xlarge'
A = 11x1 categorical array
     medium 
     large 
     small 
     small 
     medium 
     large 
     medium 
     large 
     medium 
     small 
     xlarge 

A теперь 11 1 категориальный массив с четырьмя категориями, такими что small < medium < large < xlarge.

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

свернуть все

Категориальный массив, заданный как вектор, матрица или многомерный массив.

Категории порядковых категориальных массивов всегда защищаются.

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

Введенный в R2013b

Для просмотра документации необходимо авторизоваться на сайте