Main Content

ismissing

설명

예제

TF = ismissing(A)는 입력 데이터의 요소 중 누락값이 있는 요소를 나타내는 논리형 배열을 반환합니다. TF의 크기는 A의 크기와 같습니다.

누락값은 다음과 같이 A의 데이터형에 따라 정의됩니다.

  • NaNdouble형, single형, duration형, calendarDuration

  • NaTdatetime

  • <missing>string

  • <undefined>categorical

  • {''} — 문자형 벡터로 구성된 cell

A가 테이블이면 각 변수의 데이터형에 따라 해당 변수의 누락값이 정의됩니다.

데이터형에 표준 누락값의 디폴트 정의가 없는 경우 ismissing(A)A와 동일한 크기의 논리값 0(false)으로 구성된 배열 또는 테이블을 반환합니다.

예제

TF = ismissing(A,indicator)indicator에 있는 값을 누락값 표시자로 취급하여, 위에 열거된 구문에 나와 있는 모든 디폴트 표시자를 무시합니다. indicator는 하나의 표시자일 수도 있고 여러 개의 표시자일 수도 있습니다. 예를 들어, Adouble형의 배열인 경우 ismissing(A,[0,-99])NaN 대신 0과 –99를 누락된 double형 값으로 취급합니다.

TF = ismissing(___,'OutputFormat',format)은 table형 또는 timetable형 입력 데이터에 대해 위에 열거된 모든 구문의 출력 데이터형을 지정합니다.

예제

모두 축소

NaN 값이 포함된 행 벡터 A를 만든 다음 A에서 이러한 값의 위치를 식별합니다.

A = [3 NaN 5 6 7 NaN NaN 9];
TF = ismissing(A)
TF = 1x8 logical array

   0   1   0   0   0   1   1   0

다양한 데이터형의 변수가 있는 테이블을 만듭니다.

dblVar = [NaN; 2; 3; 4; 5; 6];
singleVar = single([1; NaN; 3; 4; 5; 6]);
cellstrVar = {'one'; 'two'; ''; 'four'; 'five'; 'six'};
categoryVar = categorical({'red'; 'orange'; 'yellow'; ''; 'blue'; 'indigo'});
dateVar = [datetime(2015,1:4,15) NaT datetime(2015,6,15)]';
stringVar = ["a"; "b"; "c"; "d"; "e"; missing];

A = table(dblVar,singleVar,cellstrVar,categoryVar,dateVar,stringVar)
A=6×6 table
    dblVar    singleVar    cellstrVar    categoryVar      dateVar      stringVar
    ______    _________    __________    ___________    ___________    _________

     NaN           1       {'one'   }    red            15-Jan-2015    "a"      
       2         NaN       {'two'   }    orange         15-Feb-2015    "b"      
       3           3       {0x0 char}    yellow         15-Mar-2015    "c"      
       4           4       {'four'  }    <undefined>    15-Apr-2015    "d"      
       5           5       {'five'  }    blue                   NaT    "e"      
       6           6       {'six'   }    indigo         15-Jun-2015    <missing>

누락값이 있는 요소를 찾습니다.

ismissing은 누락값이 있는 A의 모든 대응 요소에 대해 논리값 1을 갖는 배열을 반환합니다. TF의 크기는 A의 크기와 같습니다.

TF = ismissing(A)
TF = 6x6 logical array

   1   0   0   0   0   0
   0   1   0   0   0   0
   0   0   1   0   0   0
   0   0   0   1   0   0
   0   0   0   0   1   0
   0   0   0   0   0   1

'NA', '', -99, NaN, Inf가 누락값을 나타내는 테이블을 만듭니다. 그런 다음, 누락값이 있는 요소를 찾습니다.

dblVar = [NaN; 3; Inf; 7; 9];
int8Var = int8([1; 3; 5; 7; -99]);
cellstrVar = {'one'; 'three'; ''; 'NA'; 'nine'};
charVar = ['A'; 'C'; 'E'; ' '; 'I'];

A = table(dblVar,int8Var,cellstrVar,charVar)
A=5×4 table
    dblVar    int8Var    cellstrVar    charVar
    ______    _______    __________    _______

     NaN          1      {'one'   }       A   
       3          3      {'three' }       C   
     Inf          5      {0x0 char}       E   
       7          7      {'NA'    }           
       9        -99      {'nine'  }       I   

누락값 표시자를 지정합니다. ismissing은 누락값이 있는 A의 모든 대응 요소에 대해 논리값 1을 갖는 배열을 반환합니다.

id = {'NA' '' -99 NaN Inf};
TF = ismissing(A,id)
TF = 5x4 logical array

   1   0   0   0
   0   0   0   0
   1   0   1   0
   0   0   1   1
   0   1   0   0

ismissing은 문자형 배열의 후행 공백을 무시합니다. 따라서, 빈 문자형 벡터 ''이 누락값 표시자로 사용된 위 예제에서 ismissingA.cellstrVar의 빈 문자형 벡터뿐만 아니라 A.charVar의 공백도 누락값으로 식별합니다.

입력 인수

모두 축소

입력 데이터로, 벡터, 행렬, 다차원 배열, 문자형 벡터로 구성된 셀형 배열, table형 또는 timetable형으로 지정됩니다.

  • A가 timetable형이면 ismissing은 테이블 데이터에 대해서만 동작하고 행 시간값으로 구성된 벡터의 NaT 값 및 NaN 값은 무시합니다.

  • A가 셀형 배열이거나 셀형 배열 변수를 갖는 table형이면 ismissing은 셀형 배열에 문자형 벡터가 포함된 경우에만 누락된 값을 감지합니다.

누락값 표시자로, 스칼라, 벡터 또는 셀형 배열로 지정됩니다.

  • A가 배열인 경우 indicator는 벡터여야 합니다.

  • A가 테이블 또는 타임테이블인 경우 indicator는 여러 데이터형을 요소로 가지는 셀형 배열일 수도 있습니다.

indicator에 입력된 값은 ismissing이 누락된 것으로 간주하는 값으로서 모든 디폴트 표준 누락 표시자보다 우선합니다. 표준 표시자 목록을 유지한 채로 표시자를 추가하려는 경우 모든 디폴트 표시자를 indicator의 요소로 포함시켜야 합니다.

missing 값을 NaN, NaT, missing 또는 <undefined>로 표현되는 모든 누락된 데이터에 대한 표시자로 사용할 수 있습니다. A가 테이블인 경우 missing은 누락된 '문자형 벡터로 구성된 셀형 배열'({''})에 대한 표시자이기도 합니다.

표시자 데이터형은 A의 요소의 데이터형과 일치합니다. 다음은 A의 요소와 표시자 간에 일치하는 그 밖의 데이터형입니다.

  • double형 표시자는 Adouble형, single형, 정수, logical형 요소와 일치합니다.

  • string형 표시자와 char형 표시자 그리고, 문자형 벡터로 구성된 셀형 배열인 표시자는 Astring형 요소와 일치합니다.

  • string형 표시자와 char형 표시자는 Acategorical형 요소와 일치합니다.

예: TF = ismissing(A,0)0만 누락값으로 인식합니다.

예: TF = ismissing(A,["Unset" missing])은 categorical형 배열 A에서 categorical형 값의 기본 누락값 외에 Unset도 누락값으로 인식합니다.

예: TF = ismissing(T,{-99 missing})은 테이블 T에서 각 테이블 변수 유형의 기본 누락값 외에 -99도 누락값으로 인식합니다.

출력 데이터형으로, 다음 값 중 하나로 지정됩니다.

  • 'logical' — table형 또는 timetable형 입력 데이터의 경우 출력값 TF를 논리형 배열로 반환합니다.

  • 'tabular' — table형 입력 데이터의 경우 출력값 TF를 table형으로 반환합니다. timetable형 입력 데이터의 경우 출력값 TF를 timetable형으로 반환합니다.

벡터, 행렬 또는 다차원 배열 입력 데이터에는 OutputFormat이 지원되지 않습니다.

예: ismissing(T,'OutputFormat','tabular')

  • 정수 변수는 NaN을 저장할 수 없으므로, -99처럼 다른 용도로 절대 사용되지 않을 특별한 정수 값을 사용하여누락된 정수 데이터를 나타내야 합니다.

  • 누락된 string형을 찾는 데 대한 자세한 내용은 빈 문자열과 누락된 값이 있는지 테스트하기 항목을 참조하십시오.

  • 문자형이 아닌 벡터로 구성된 셀형 배열이나 구조체형 배열인 입력 데이터의 경우, ismissingfalse를 반환합니다. 구조체형 배열에서 누락된 값을 찾으려면, structfun 함수를 사용하여 구조체의 각 필드에 ismissing을 적용합니다. 문자형이 아닌 벡터로 구성된 셀형 배열에서 누락된 값을 찾으려면, cellfun 함수를 사용하여 셀형 배열의 각 셀에 ismissing을 적용합니다.

알고리즘

ismissing은 문자형 벡터로 구성된 셀형 배열, 문자형 배열 또는 categorical형 배열인 표시자에 대해 선행 공백과 후행 공백을 각각 다르게 처리합니다.

  • 문자형 벡터로 구성된 셀형 배열의 경우 ismissing은 표시자 공백을 무시하지 않습니다. 모든 문자형 벡터가 정확하게 일치해야 합니다.

  • 테이블 변수의 문자형 배열의 경우 ismissing은 표시자의 후행 공백을 무시합니다.

  • categorical형 배열의 경우 ismissing은 표시자의 선행 공백과 후행 공백을 무시합니다.

확장 기능

C/C++ 코드 생성
MATLAB® Coder™를 사용하여 C 코드나 C++ 코드를 생성할 수 있습니다.

버전 내역

R2013b에 개발됨

모두 확장