주요 콘텐츠

이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.

rmmissing

누락된 요소 제거

설명

R = rmmissing(A)는 배열 또는 테이블에서 누락된 요소를 제거합니다. A가 벡터인 경우 rmmissing은 누락된 데이터가 포함된 요소를 제거합니다. A가 행렬이나 테이블인 경우 rmmissing은 누락된 데이터가 포함된 행을 제거합니다.

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

  • NaNdouble형, single형, duration형, calendarDuration

  • NaTdatetime

  • <missing>string

  • <undefined>categorical

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

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

라이브 스크립트에 이상값 데이터 정리 작업을 추가하여 rmmissing 기능을 대화형 방식으로 사용할 수 있습니다.

예제

R = rmmissing(A,dim)은 함수 연산이 수행될 A의 차원을 지정합니다. 기본적으로 rmmissing은 크기가 1이 아닌 첫 번째 차원을 따라 연산합니다.

예제

R = rmmissing(___,Name,Value)는 하나 이상의 이름-값 인수를 사용하여 누락된 요소를 제거하기 위한 추가 파라미터를 지정합니다. 예를 들어, rmmissing(A,'MinNumMissing',n)을 사용하여 최소 n개의 누락값이 포함된 A의 행을 제거할 수 있습니다.

예제

[R,TF] = rmmissing(___)은 제거된 A의 행 또는 열에 해당하는 논리형 벡터도 반환합니다.

예제

예제

모두 축소

누락 요소가 있는 벡터를 만들고 각 누락 요소를 제거합니다.

A = [1 3 NaN 6 NaN];
R = rmmissing(A)
R = 1×3

     1     3     6

여러 데이터형이 포함된 테이블에서 불완전한 행을 제거합니다.

먼저, categorical, double, char 데이터형의 변수로 구성된 테이블을 만듭니다.

A = table(categorical({''; 'F'; 'M'}),[45; 32; NaN],{''; 'CA'; 'MA'},[6051; 7234; NaN],...
    'VariableNames',{'Gender' 'Age' 'State' 'ID'})
A=3×4 table
      Gender       Age      State        ID 
    ___________    ___    __________    ____

    <undefined>     45    {0×0 char}    6051
    F               32    {'CA'    }    7234
    M              NaN    {'MA'    }     NaN

누락된 데이터가 포함된 테이블의 행을 모두 제거합니다.

R = rmmissing(A)
R=1×4 table
    Gender    Age    State      ID 
    ______    ___    ______    ____

      F       32     {'CA'}    7234

Age 또는 ID 테이블 변수에 누락값이 있는 행만 제거합니다.

R = rmmissing(A,'DataVariables',{'Age','ID'})
R=2×4 table
      Gender       Age      State        ID 
    ___________    ___    __________    ____

    <undefined>    45     {0×0 char}    6051
    F              32     {'CA'    }    7234

또는 isnumeric 함수를 사용하여 연산을 수행할 숫자형 변수를 식별할 수도 있습니다.

R = rmmissing(A,'DataVariables',@isnumeric)
R=2×4 table
      Gender       Age      State        ID 
    ___________    ___    __________    ____

    <undefined>    45     {0×0 char}    6051
    F              32     {'CA'    }    7234

누락된 데이터가 있는 행렬을 생성한 다음 둘 이상의 누락값을 포함하는 열(두 번째 차원)을 모두 제거합니다. 새 행렬과 A의 어떤 열이 제거되었는지 표시하는 논리형 행 벡터를 반환합니다.

A = [NaN NaN 5 3 NaN 5 7 NaN 9 2;
     8 9 NaN 1 4 5 6 5 NaN 5;
     NaN 4 9 8 7 2 4 1 NaN 3]
A = 3×10

   NaN   NaN     5     3   NaN     5     7   NaN     9     2
     8     9   NaN     1     4     5     6     5   NaN     5
   NaN     4     9     8     7     2     4     1   NaN     3

[R,TF] = rmmissing(A,2,'MinNumMissing',2)
R = 3×8

   NaN     5     3   NaN     5     7   NaN     2
     9   NaN     1     4     5     6     5     5
     4     9     8     7     2     4     1     3

TF = 1×10 logical array

   1   0   0   0   0   0   0   0   1   0

테이블을 만들고 -99로 정의된 누락 요소를 제거합니다. 제거할 누락 요소의 위치를 나타내는 논리형 변수 테이블 loc를 만듭니다.

A = [1; 4; 9; -99; 3];
B = [9; 0; 6; 2; 1];
C = [-99; 4; 2; 3; 8];
T = table(A,B,C)
T=5×3 table
     A     B     C 
    ___    _    ___

      1    9    -99
      4    0      4
      9    6      2
    -99    2      3
      3    1      8

loc = T==-99
loc=5×3 table
      A        B        C  
    _____    _____    _____

    false    false    true 
    false    false    false
    false    false    false
    true     false    false
    false    false    false

그런 다음 MissingLocations 이름-값 인수를 사용하여 rmmissing의 알려진 누락 요소 위치를 지정합니다. 누락 요소가 제거된 데이터뿐만 아니라 제거된 행을 나타내는 논리형 벡터도 반환합니다.

[R,TF] = rmmissing(T,MissingLocations=loc)
R=3×3 table
    A    B    C
    _    _    _

    4    0    4
    9    6    2
    3    1    8

TF = 5×1 logical array

   1
   0
   0
   1
   0

입력 인수

모두 축소

입력 데이터로, 벡터, 행렬, 문자형 벡터로 구성된 셀형 배열, 테이블 또는 타임테이블로 지정됩니다.

  • Atimetable형인 경우 rmmissing(A)는 누락된 데이터가 포함된 A의 행을 제거하고, 이에 대응하는 시간 벡터의 요소도 제거합니다. 시간 벡터에 NaT 또는 NaN이 포함된 경우 rmmissing(A)는 시간 벡터에서 이를 제거하고, 이에 대응하는 A의 행도 제거합니다.

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

연산을 수행할 차원으로, 1 또는 2로 지정됩니다. 차원을 지정하지 않을 경우, 디폴트 값은 크기가 1이 아닌 첫 번째 배열 차원이 됩니다.

m×n 입력 행렬 배열 A가 있다고 가정합니다.

  • rmmissing(A,1)은 누락된 데이터가 포함된 A의 행을 제거합니다.

    rmmissing(A,1) row removal

  • rmmissing(A,2)는 누락된 데이터가 포함된 A의 열을 제거합니다.

    rmmissing(A,2) column removal

이름-값 인수

모두 축소

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

예: rmmissing(A,DataVariables=["Temperature" "Altitude"])Temperature 또는 Altitude 변수에 누락된 데이터가 포함된 A의 행을 제거합니다.

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

예: rmmissing(A,"DataVariables",["Temperature" "Altitude"])Temperature 또는 Altitude 변수에 누락된 데이터가 포함된 A의 행을 제거합니다.

행 또는 열을 제거하기 위해 요구되는 누락 요소의 최소 개수로, 음이 아닌 스칼라(기본적으로 1임)로 지정됩니다.

예: rmmissing(A,'MinNumMissing',6)

R2024b 이후

알려진 누락 요소 표시자로, 논리형 벡터나 행렬 또는 논리형 변수를 가진 테이블이나 타임테이블로 지정됩니다. 값이 1(true)인 요소는 A의 누락된 요소의 위치를 나타냅니다. 값이 0(false)인 요소는 누락되지 않은 요소를 나타냅니다.

MissingLocations를 지정할 경우 rmmissing은 표준 누락값을 사용하지 않습니다. 대신 알려진 누락 요소 표시자의 요소를 사용하여 누락 요소를 정의합니다.

MissingLocations가 벡터나 행렬이라면 A와 크기가 같아야 합니다. MissingLocations가 테이블이나 타임테이블인 경우 연산을 수행할 입력 테이블 변수와 크기와 이름이 같은 논리형 변수를 포함해야 합니다.

데이터형: logical | table | timetable

연산을 수행할 테이블 변수로, 다음 표에 있는 옵션 중 하나로 지정됩니다. DataVariables 값은 입력 테이블에서 누락값이 있는지 조사할 변수를 나타냅니다.

테이블에서 DataVariables로 지정되지 않은 다른 변수는 누락값이 있는지 조사되지 않은 채 출력값으로 전달됩니다.

인덱싱 방식지정할 값예제

변수 이름

  • string형 스칼라 또는 문자형 벡터

  • string형 배열 또는 문자형 벡터로 구성된 셀형 배열

  • pattern 객체

  • "A" 또는 'A'A라는 변수

  • ["A" "B"] 또는 {'A','B'}AB라는 두 개의 변수

  • "Var"+digitsPattern(1)"Var" 다음에 하나의 숫자가 오는 이름을 갖는 변수

변수 인덱스

  • 테이블에서의 변수 위치를 나타내는 인덱스 번호

  • 숫자로 구성된 벡터

  • logical형 벡터. 일반적으로 이 벡터는 변수의 개수와 길이가 같지만 후행 0(false) 값을 생략할 수 있습니다.

  • 3 — 테이블의 세 번째 변수

  • [2 3] — 테이블의 두 번째 변수와 세 번째 변수

  • [false false true] — 세 번째 변수

함수 핸들

  • 테이블 변수를 입력값으로 받고 logical형 스칼라를 반환하는 함수 핸들

  • @isnumeric — 숫자형 값을 포함하는 모든 변수

변수 유형

  • 지정된 유형의 변수를 선택하는 vartype 첨자

  • vartype("numeric") — 숫자형 값을 포함하는 모든 변수

예: rmmissing(T,'DataVariables',["Var1" "Var2" "Var4"])

출력 인수

모두 축소

누락된 요소가 제거된 데이터로, 벡터, 행렬, 테이블 또는 타임테이블로 반환됩니다. R의 크기는 제거된 행 또는 열의 개수에 따라 달라집니다.

제거된 요소 표시기로, 논리형 벡터로 반환됩니다. 값 1(true)은 제거된 A의 행 또는 열에 해당합니다. 값 0(false)은 변경되지 않은 행과 열에 해당합니다. TF의 방향과 크기는 A 및 연산 차원에 따라 다릅니다.

데이터형: logical

  • 입력 데이터가 구조체형 배열이거나 문자형이 아닌 벡터로 구성된 셀형 배열인 경우, rmmissing은 어떤 요소도 제거하지 않습니다. 구조체형 배열에서 누락 요소를 제거하려면 structfun 함수를 사용하여 구조체의 각 필드에 rmmissing을 적용하십시오. 문자형이 아닌 벡터로 이루어진 셀형 배열에서 누락 요소를 제거하려면 cellfun 함수를 사용하여 셀형 배열의 각 셀에 rmmissing을 적용하십시오.

대체 기능

라이브 편집기 작업

라이브 스크립트에 누락된 데이터 정리 작업을 추가하여 rmmissing 기능을 대화형 방식으로 사용할 수 있습니다.

Clean Missing Data task in the Live Editor

확장 기능

모두 확장

버전 내역

R2016b에 개발됨

모두 확장