isprotected

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

Синтаксис

Описание

пример

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

  • 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
     medium 
     large 
     small 
     small 
     medium 
     large 
     medium 
     large 
     medium 
     small 

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

Отображение категорий A.

categories(A)
ans = 3x1 cell
    {'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
     medium 
     large 
     small 
     small 
     medium 
     large 
     medium 
     large 
     medium 
     small 
     xlarge 

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

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

свернуть все

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

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

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

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