Main Content

isprotected

categorical형 배열의 범주가 보호되는지 확인

설명

예제

tf = isprotected(A)A의 범주가 보호될 경우 논리값 1(true)을 반환합니다. 그렇지 않으면 isprotected는 논리값 0(false)을 반환합니다.

  • true — 새 값을 B에 할당할 때 값은 기존 범주 중 하나에 속해야 합니다. 따라서 동일한 범주의 배열만 결합시킬 수 있습니다. 새 범주를 B에 추가하려면 addcats 함수를 사용해야 합니다.

  • false — 새 값을 B에 대입할 때 범주가 자동으로 업데이트됩니다. 따라서 범주가 다른 (비순서형) categorical형 배열을 결합할 수 있습니다. 범주는 두 배열의 범주를 모두 포함하도록 업데이트될 수 있습니다.

예제

모두 축소

객체 10개의 크기가 포함된 categorical형 배열을 만듭니다. 값 'S', 'M', 'L'에 대해 이름 small, medium, large를 각각 사용합니다.

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 categorical형 배열입니다.

A의 범주를 표시합니다.

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

A의 범주가 보호되는지 확인합니다.

tf = isprotected(A)
tf = logical
   1

A는 순서형 categorical형 배열이므로 범주가 보호됩니다. 기존 범주 중 하나에 속하지 않는 새 값(예: 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는 이제 small < medium < large < xlarge와 같은 4개의 범주를 갖는 11×1 categorical형 배열입니다.

입력 인수

모두 축소

categorical형 배열로, 벡터, 행렬, 다차원 배열 중 하나로 지정됩니다.

순서형 categorical형 배열의 범주는 항상 보호됩니다.

확장 기능

버전 내역

R2013b에 개발됨