exponenta event banner

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