Main Content

issortedrows

행렬 또는 테이블 행이 정렬되었는지 확인

설명

예제

TF = issortedrows(A)는 행렬 A의 첫 번째 열의 요소가 오름차순으로 나열되어 있으면 논리형 스칼라 1(true)을 반환합니다. 그렇지 않으면 issortedrows는 0(false)을 반환합니다. 첫 번째 열에서 동일한 값의 요소들이 연이어 반복되는 경우 issortedrows는 다음 열이 오름차순으로 정렬되어 있는지 확인하며, 이후의 동일한 값들에 대해서도 이 동작을 반복합니다.

예제

TF = issortedrows(A,column)A가 벡터 column에 지정된 열을 기반으로 정렬되어 있으면 1을 반환합니다. 예를 들어, issortedrows(A,[4 6])은 먼저 A의 4번째 열이 오름차순으로 정렬되어 있는지 확인한 후 동일한 값에 대한 우선 순위를 결정하기 위해 6번째 열이 오름차순으로 정렬되어 있는지 확인합니다.

예제

TF = issortedrows(___,direction)은 위에 열거된 구문을 사용하여, A의 첫 번째 열이 direction에 지정한 순서대로 정렬되어 있으면 1을 반환합니다. 예를 들어, issortedrows(A,'monotonic')A의 첫 번째 열이 오름차순 또는 내림차순으로 정렬되어 있는지 확인합니다. direction은 확인하려는 각각의 열에 대한 여러 방향을 나타내는, 문자형 벡터로 구성된 셀형 배열일 수도 있습니다. 예를 들어, issortedrows(A,[2 3],{'ascend' 'descend'})A의 두 번째 열이 오름차순으로 정렬되어 있는지 확인한 후 동일한 값에 대한 우선 순위를 결정하기 위해 세 번째 열이 내림차순으로 정렬되어 있는지 확인합니다.

예제

TF = issortedrows(___,Name,Value)는 정렬 순서를 확인하는 추가적인 파라미터를 지정합니다. 예를 들어, issortedrows(A,'ComparisonMethod','abs')A의 첫 번째 열에 있는 요소가 크기를 기준으로 정렬되어 있는지 확인합니다.

예제

TF = issortedrows(tblA)는 테이블의 행이 첫 번째 변수의 요소를 기반으로 오름차순으로 정렬되어 있는지 확인합니다. 첫 번째 변수의 요소가 반복되는 경우 issortedrows는 두 번째 변수의 요소를 확인하며, 계속해서 이런 식으로 다음 변수의 요소를 확인해 나갑니다.

tblA가 타임테이블인 경우 issortedrowstblA의 행이 행 시간값을 기반으로 오름차순으로 정렬되어 있는지 확인합니다. 타임테이블의 행 시간값은 타임테이블의 첫 번째 차원에 있는 행에 레이블을 지정합니다.

예제

TF = issortedrows(tblA,'RowNames')는 테이블의 행이 행 이름을 기반으로 오름차순으로 정렬되어 있는지 확인합니다. 테이블의 행 이름은 테이블의 첫 번째 차원에 있는 행에 레이블을 지정합니다.

이 구문은 tblA가 타임테이블인 경우에는 지원되지 않습니다.

예제

TF = issortedrows(tblA,rowDimName)은 첫 번째 차원에서 테이블의 행이 행 레이블 rowDimName을 기준으로 정렬되어 있는지 확인합니다.

  • tblA가 테이블인 경우 레이블은 행 이름입니다.

  • tblA가 타임테이블인 경우 레이블은 행 시간값입니다.

예제

TF = issortedrows(tblA,vars)는 테이블의 행이 변수 vars의 요소를 기준으로 오름차순으로 정렬되어 있는지 확인합니다. 예를 들어, AgeWeighttblA의 변수인 경우 issortedrows(tblA,{'Age','Weight'})는 행이 연령을 기준으로 오름차순으로 정렬되어 있는지 확인한 후 동일한 값에 대한 우선 순위를 결정하기 위해 체중을 기준으로 오름차순으로 정렬되어 있는지 확인합니다.

  • tblA가 행 이름을 포함하는 테이블인 경우 vars에 행 이름이 포함될 수 있습니다.

  • tblA가 타임테이블인 경우 vars는 행 시간값을 포함할 수 있습니다.

예제

TF = issortedrows(___,direction)은 위에 열거된 구문을 사용하여 테이블이 direction에 지정한 순서대로 정렬되어 있는지 확인합니다. direction은 각각의 지정된 변수, 행 이름 또는 행 시간값에 적용되는 단일 정렬 순서(예: 'descend' 또는 'monotonic')가 될 수 있습니다. 또한, directionissortedrows가 동작하는 각각의 지정된 변수, 행 이름 또는 행 시간값에 대한 여러 정렬 순서를 요소로 포함하는 셀형 배열일 수도 있습니다.

예제

TF = issortedrows(___,Name,Value)는 테이블을 정렬하는 추가적인 파라미터를 지정합니다. 예를 들어, issortedrows(tblA,'Var1','MissingPlacement','first')Var1의 누락된 요소(예: NaN 또는 NaT)가 테이블의 맨 앞에 배치되는지를 확인합니다.

예제

모두 축소

행렬을 만들고, 행이 첫 번째 열의 값을 기준으로 오름차순으로 정렬되어 있는지 확인합니다. 첫 번째 열에 반복된 요소가 있으므로, sortrows는 두 번째 열을 검토하여 행렬 행이 정렬되어 있는지 확인합니다.

A = [1 2 9; 1 5 8; 4 0 7]
A = 3×3

     1     2     9
     1     5     8
     4     0     7

TF = issortedrows(A)
TF = logical
   1

A의 행이 세 번째 열의 값을 기준으로 오름차순으로 정렬되어 있는지 확인합니다.

TF = issortedrows(A,3)
TF = logical
   0

A의 행이 세 번째 열의 값을 기준으로 내림차순으로 정렬되어 있는지 확인합니다.

TF = issortedrows(A,3,'descend')
TF = logical
   1

복소수가 들어 있는 행렬을 만들고, 행이 첫 번째 열에 있는 요소의 실수부를 기준으로 오름차순으로 정렬되어 있는지 확인합니다. 첫 번째 열의 요소에 동일한 실수부가 있으므로, issortedrows는 이들 간의 우선 순위를 결정하기 위해 허수부를 확인합니다.

A = [1+i 2i; 1+2i 3+4i]
A = 2×2 complex

   1.0000 + 1.0000i   0.0000 + 2.0000i
   1.0000 + 2.0000i   3.0000 + 4.0000i

TF = issortedrows(A,'ComparisonMethod','real')
TF = logical
   1

5명의 환자 정보를 설명하는 테이블에서 테이블의 행이 어떻게 정렬되어 있는지 확인합니다.

변수 4개가 있는 테이블을 만들고, 테이블의 행이 연령을 기준으로 오름차순으로 정렬되어 있는지 확인합니다. 연령 변수에 반복된 요소가 있으므로, issortedrows는 이들 간의 우선 순위를 결정하기 위해 다음 열(Height)을 확인합니다.

LastName = {'Sweet';'Jacobson';'Wang';'Joiner';'Berger'};
Age = [38;38;40;43;49];
Height = [69;71;64;67;64];
Weight = [176;163;131;133;119];
BloodPressure = [124 93; 109 77; 125 83; 117 75; 122 80];

tblA = table(Age,Height,Weight,BloodPressure,'RowNames',LastName)
tblA=5×4 table
                Age    Height    Weight    BloodPressure
                ___    ______    ______    _____________

    Sweet       38       69       176       124     93  
    Jacobson    38       71       163       109     77  
    Wang        40       64       131       125     83  
    Joiner      43       67       133       117     75  
    Berger      49       64       119       122     80  

TF = issortedrows(tblA)
TF = logical
   1

tblA의 행 이름인 성(LastName)을 기준으로 테이블 행이 정렬되어 있는지 확인합니다.

TF = issortedrows(tblA,'RowNames')
TF = logical
   0

테이블 행이 우선 연령을 기준으로 오름차순으로 정렬되어 있고, 그 후에 체중을 기준으로 내림차순으로 정렬되어 있는지 확인합니다.

TF = issortedrows(tblA,{'Age','Weight'},{'ascend','descend'})
TF = logical
   1

타임테이블을 만들고, 타임테이블의 행이 행 시간값을 기준으로 오름차순으로 정렬되어 있는지 확인합니다. 또한 누락된 요소가 마지막에 배치되어 있는지 확인합니다.

Time = [seconds(1:3) NaN NaN]';
TT = timetable(Time,[98;97.5;97.9;98.1;99.9],[120;111;119;117;112],...
               'VariableNames',{'Temperature','Distance'})
TT=5×2 timetable
     Time      Temperature    Distance
    _______    ___________    ________

    1 sec           98          120   
    2 sec         97.5          111   
    3 sec         97.9          119   
    NaN sec       98.1          117   
    NaN sec       99.9          112   

TF = issortedrows(TT,'Time','MissingPlacement','last')
TF = logical
   1

입력 인수

모두 축소

입력 배열로, 열 벡터나 행렬로 지정됩니다.

데이터형: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char | string | categorical | datetime | duration
복소수 지원 여부:

열 정렬 벡터로, 0이 아닌 정수 스칼라 또는 0이 아닌 정수로 구성된 벡터로 지정됩니다. 지정된 각 정수 값은 정렬 순서를 확인할 열을 나타냅니다. 음의 정수는 정렬 순서가 내림차순임을 나타냅니다.

정렬 방향으로, 다음 중 하나로 지정됩니다.

  • 'ascend'(디폴트 값) — 데이터가 오름차순으로 정렬되어 있는지 확인합니다. 데이터에 연속적으로 반복된 요소가 있을 수 있습니다.

  • 'descend' — 데이터가 내림차순으로 정렬되어 있는지 확인합니다. 데이터에 연속적으로 반복된 요소가 있을 수 있습니다.

  • 'monotonic' — 데이터가 내림차순 또는 오름차순으로 정렬되어 있는지 확인합니다. 데이터에 연속적으로 반복된 요소가 있을 수 있습니다.

  • 'strictascend' — 데이터가 순오름차순으로 정렬되어 있는지 확인합니다. 데이터에 중복되거나 누락된 요소가 포함될 수 없습니다.

  • 'strictdescend' — 데이터가 순내림차순으로 정렬되어 있는지 확인합니다. 데이터에 중복되거나 누락된 요소가 포함될 수 없습니다.

  • 'strictmonotonic' — 데이터가 순내림차순 또는 순오름차순으로 정렬되어 있는지 확인합니다. 데이터에 중복되거나 누락된 요소가 포함될 수 없습니다.

direction은 이러한 문자형 벡터 목록이 들어 있는 셀형 배열일 수도 있습니다. 여기서 목록의 각 요소는 A의 열에 대응합니다. 예를 들어, issortedrows(A,[2 4],{'ascend' 'descend'})는 먼저 A의 행이 두 번째 열을 기준으로 오름차순으로 정렬되어 있는지 확인합니다. 그런 다음, 같은 값에 대한 우선 순위를 결정하기 위해 issortedrows는 네 번째 열 기준으로 행이 내림차순으로 정렬되어 있는지 확인합니다.

column이 지정된 경우 셀형 배열의 요소 개수는 column의 길이와 일치해야 합니다. column이 지정되지 않은 경우 셀형 배열에는 A의 각 열에 대한 요소들이 하나씩 들어 있든지 아니면 모든 열에 적용되는 하나의 요소가 들어 있어야 합니다.

데이터형: char | cell

입력 테이블로, table형이나 timetable형으로 지정됩니다. tblA의 각 변수는 sortsortrows에 대한 유효한 입력값이어야 합니다.

데이터형: table | timetable

입력 테이블 또는 타임테이블의 첫 번째 차원 이름으로, string형 스칼라 또는 문자형 벡터로 지정됩니다.

  • tblA가 행 이름을 포함하는 테이블인 경우 rowDimName은 해당 테이블의 첫 번째 차원 이름입니다. 기본적으로, 첫 번째 차원의 이름은 'Row'입니다. 차원 이름은 테이블의 속성입니다. tblA.Properties.DimensionNames를 사용하여 tblA의 차원 이름에 액세스할 수 있습니다.

  • tblA가 타임테이블인 경우 rowDimName은 행 시간값으로 구성된 벡터 이름입니다. Time 또는 Date와 같이 타임테이블을 만들 때 이름을 지정할 수 있습니다. 또한 tblA.Properties.DimensionNames를 사용하여 차원 이름에 액세스할 수도 있습니다.

예: 테이블 T에 행 이름이 있는데 T.Properties.DimensionName{1} = "Name"을 사용하여 첫 번째 차원의 이름을 변경한 경우, issortedrows(T,"Name")은 테이블이 행 이름을 기준으로 정렬되어 있는지 확인합니다.

예: 타임테이블 TTDate라는 시간 벡터가 있는 경우 issortedrows(TT,"Date")는 타임테이블이 Date에 들어 있는 날짜와 시간을 기준으로 정렬되어 있는지 확인합니다.

데이터형: string | char

정렬을 위한 변수로, 정수 스칼라, 정수로 구성된 벡터, 변수 이름, 변수 이름으로 구성된 string형 배열, 변수 이름으로 구성된 셀형 배열, pattern 스칼라 또는 논리형 벡터로 지정됩니다. vars는 정렬할 때 기준으로 삼을 테이블 변수를 나타냅니다.

vars의 요소가 양의 정수인 경우 issortedrows는 이에 대응하는 tblA의 변수 행이 오름차순으로 정렬되어 있는지 확인합니다. vars의 요소가 음의 정수인 경우 issortedrows는 이에 대응하는 tblA의 변수 행이 내림차순으로 정렬되어 있는지 확인합니다.

예: issortedrows(tblA,["Height","Weight"])tblA의 행이 먼저 변수 Height를 기준으로 오름차순으로 정렬되어 있는지를 확인한 후, 동일한 값에 대한 우선 순위를 결정하기 위해 변수 Weight를 기준으로 오름차순으로 정렬되어 있는지 확인합니다.

예: issortedrows(tblA,"X" + wildcardPattern)은 이름의 나머지 문자와 일치시키는 와일드카드 패턴을 사용하여 이름이 영문자 "X"로 시작하는 테이블 변수를 기준으로 tblA의 행이 오름차순으로 정렬되어 있는지 확인합니다.

예: issortedrows(tblA,[1 4])는 먼저 테이블 행이 첫 번째 변수 기준으로 오름차순으로 정렬되어 있는지 확인한 후, 동일한 값에 대한 우선 순위를 결정하기 위해 네 번째 변수 기준으로 오름차순으로 정렬되어 있는지 확인합니다.

예: issortedrows(TT,["Time","X"])는 타임테이블의 행 시간값이 오름차순으로 정렬되어 있는지 확인한 후, 동일한 값에 대한 우선 순위를 결정하기 위해 테이블 변수 X를 기준으로 오름차순으로 정렬되어 있는지 확인합니다.

데이터형: double | single | string | char | cell | pattern | logical

이름-값 인수

선택적 인수 쌍을 Name1=Value1,...,NameN=ValueN으로 지정합니다. 여기서 Name은 인수 이름이고 Value는 대응값입니다. 이름-값 인수는 다른 인수 뒤에 와야 하지만, 인수 쌍의 순서는 상관없습니다.

R2021a 이전 릴리스에서는 쉼표를 사용하여 각 이름과 값을 구분하고 Name을 따옴표로 묶으십시오.

예: issortedrows(A,'MissingPlacement','last')

누락값(NaN, NaT, <undefined>, missing)의 배치로, 'MissingPlacement'와 함께 다음 중 하나가 쉼표로 구분되어 지정됩니다.

  • 'auto' — 누락된 요소를 오름차순의 경우 마지막에 배치하고, 내림차순의 경우 처음에 배치해야 1이 반환됩니다.

  • 'first' — 누락된 요소를 처음에 배치해야 1이 반환됩니다.

  • 'last' — 누락된 요소를 마지막에 배치해야 1이 반환됩니다.

요소 비교 방법으로, 'ComparisonMethod'와 함께 다음 중 하나가 쉼표로 구분되어 지정됩니다.

  • 'auto'A가 실수인 경우 A의 행이 real(A)를 기준으로 정렬되어 있는지 확인하고, A가 복소수인 경우 A의 행이 abs(A)를 기준으로 정렬되어 있는지 확인합니다.

  • 'real'A가 실수 또는 복소수인 경우 A의 행이 real(A)를 기준으로 정렬되어 있는지 확인합니다. 열에 연속된 동일 실수부를 가진 요소가 있는 경우 이들 간의 우선 순위를 결정하기 위해 imag(A)를 확인합니다.

  • 'abs'A가 실수 또는 복소수인 경우 A의 행이 abs(A)를 기준으로 정렬되어 있는지 확인합니다. 열에 연속된 동일 크기를 가진 요소가 있는 경우 이들 간의 우선 순위를 결정하기 위해 구간 (-π,π]의 angle(A)를 확인합니다.

확장 기능

버전 내역

R2017a에 개발됨

참고 항목

| |