isprotected

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

Синтаксис

Описание

пример

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

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

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

Примеры

свернуть все

Создайте категориальный массив, содержащий размеры 10 объектов. Используйте имена smallСредняя, и 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