Main Content

summary

테이블, 타임테이블 또는 categorical형 배열의 요약 출력

설명

예제

summary(T)는 테이블 또는 타임테이블 T의 요약을 출력합니다.

  • T가 테이블이면 테이블 요약T.Properties.Description의 설명과 테이블 변수 요약이 차례대로 표시됩니다.

  • T가 타임테이블이면 타임테이블 요약에 T.Properties.Description의 설명, 행 시간값 요약, 타임테이블 변수 요약이 차례대로 표시됩니다.

예제

s = summary(T)는 입력 테이블 또는 타임테이블의 요약이 포함된 구조체 s를 반환합니다. s의 각 필드는 그 자체가 T에서 이에 대응하는 변수의 값을 요약하는 하나의 구조체입니다. T가 타임테이블이면 sT의 행 시간값을 요약하는 필드도 포함됩니다.

예제

summary(A)는 categorical형 배열 A의 요약을 출력합니다.

  • A가 벡터인 경우 summary(A)는 각 범주의 이름과 함께 범주의 요소 수(범주 개수)를 함께 표시합니다. 또한 정의되지 않은 요소 수도 표시합니다.

  • A가 행렬인 경우 summaryA의 열을 벡터로 취급하고 A에 있는 각 열의 범주 개수를 표시합니다.

  • A가 다차원 배열인 경우 summary는 크기가 1이 아닌 첫 번째 배열 차원을 따라 동작을 수행합니다.

예제

summary(A,dim)은 차원 dim을 따라 categorical형 배열 A의 범주 개수를 출력합니다.

예를 들어, summary(A,2)를 사용하여 categorical형 배열에서 각 행에 대한 개수를 표시할 수 있습니다.

예제

모두 축소

테이블을 만듭니다.

load patients
BloodPressure = [Systolic Diastolic];
T = table(Gender,Age,Smoker,BloodPressure,'RowNames',LastName);

테이블 T에 설명과 단위를 추가합니다. 설명은 테이블 전체에 대해 추가할 수도 있고 개별 변수에 대해 추가할 수도 있습니다.

T.Properties.Description = 'Simulated patient data';
T.Properties.VariableUnits =  {''  'Yrs' ''  'mm Hg'};
T.Properties.VariableDescriptions{4} = 'Systolic/Diastolic';

테이블 T의 요약을 출력합니다.

format compact

summary(T)
Description:  Simulated patient data
Variables:
    Gender: 100x1 cell array of character vectors
    Age: 100x1 double
        Properties:
            Units:  Yrs
        Values:
            Min          25   
            Median       39   
            Max          50   
    Smoker: 100x1 logical
        Values:
            True        34   
            False       66   
    BloodPressure: 100x2 double
        Properties:
            Units:  mm Hg
            Description:  Systolic/Diastolic
        Values:
                      Column 1    Column 2
                      ________    ________
            Min         109           68  
            Median      122         81.5  
            Max         138           99  

summary는 변수 BloodPressure의 각 열에 대한 최솟값, 중앙값, 최댓값을 표시합니다.

작은 타임테이블을 만듭니다.

Time = [seconds(1:5)]';
TT = timetable(Time,[98;97.5;97.9;98.1;97.9],[120;111;119;117;116],...
               'VariableNames',{'Reading1','Reading2'})
TT=5×2 timetable
    Time     Reading1    Reading2
    _____    ________    ________

    1 sec        98        120   
    2 sec      97.5        111   
    3 sec      97.9        119   
    4 sec      98.1        117   
    5 sec      97.9        116   

타임테이블 요약을 출력합니다. summary는 행 시간값 요약과 변수 요약을 차례대로 출력합니다. 타임테이블이 규칙적이면 summary는 행 시간값 사이의 시간 스텝 크기도 출력합니다.

summary(TT)
RowTimes:

    Time: 5x1 duration
        Values:
            Min           1 sec 
            Median        3 sec 
            Max           5 sec 
            TimeStep      1 sec 

Variables:

    Reading1: 5x1 double

        Values:

            Min         97.5  
            Median      97.9  
            Max         98.1  

    Reading2: 5x1 double

        Values:

            Min         111   
            Median      117   
            Max         120   

테이블을 만듭니다. 테이블 변수에 단위를 추가합니다. 그런 다음, 처음 몇 개 행을 표시합니다.

load patients
BloodPressure = [Systolic Diastolic];
T = table(Gender,Age,Smoker,BloodPressure,'RowNames',LastName);
T.Properties.VariableUnits =  {''  'Years' ''  'mm Hg'};
head(T,3)
                  Gender      Age    Smoker    BloodPressure
                __________    ___    ______    _____________

    Smith       {'Male'  }    38     true       124     93  
    Johnson     {'Male'  }    43     false      109     77  
    Williams    {'Female'}    38     false      125     83  

테이블 요약을 반환합니다. 요약을 구조체로 반환하려면 summary 함수를 사용할 때 출력 인수를 지정하십시오.

s = summary(T)
s = struct with fields:
           Gender: [1x1 struct]
              Age: [1x1 struct]
           Smoker: [1x1 struct]
    BloodPressure: [1x1 struct]

테이블 변수 Age의 요약을 표시합니다. 출력 인수 s에는 T에 있는 각 변수에 대한 요약이 포함된 필드가 들어 있습니다.

s.Age
ans = struct with fields:
           Size: [100 1]
           Type: 'double'
    Description: ''
          Units: 'Years'
     Continuity: []
            Min: 25
         Median: 39
            Max: 50
     NumMissing: 0

NumMissing 필드에는 누락값을 가진 요소의 개수가 표시됩니다. 이 경우, AgeNaN 값이 없기 때문에 NumMissing은 0입니다. summary에는 숫자형 변수, duration형 변수, datetime형 변수, categorical형 변수의 NumMissing 필드가 포함됩니다.

테이블에 포함된 최소 연령을 표시합니다. 이름으로 요약의 모든 필드에 액세스할 수 있습니다.

s.Age.Min
ans = 25

테이블 변수 Smoker의 요약을 표시합니다. True 필드와 False 필드에서 흡연자와 비흡연자의 수를 확인할 수 있습니다. 테이블 변수 요약에 포함되는 정보는 변수 데이터형에 따라 달라집니다.

s.Smoker
ans = struct with fields:
           Size: [100 1]
           Type: 'logical'
    Description: ''
          Units: ''
     Continuity: []
           True: 34
          False: 66

타임테이블을 생성합니다.

Time = datetime({'2015-12-18 08:00:00';'2015-12-18 10:00:00';'2015-12-18 12:00:00'});
Temp = [37.3;39.1;42.3];
Pressure = [30.1;30.03;29.9];
TT = timetable(Time,Temp,Pressure)
TT=3×2 timetable
            Time            Temp    Pressure
    ____________________    ____    ________

    18-Dec-2015 08:00:00    37.3      30.1  
    18-Dec-2015 10:00:00    39.1     30.03  
    18-Dec-2015 12:00:00    42.3      29.9  

타임테이블 요약을 구조체로 반환합니다.

s = summary(TT)
s = struct with fields:
        Time: [1x1 struct]
        Temp: [1x1 struct]
    Pressure: [1x1 struct]

행 시간값 요약을 표시합니다. TimeStep 필드는 연속된 행 시간값 사이의 시간 간격이 2시간이라고 표시합니다. NumMissing 필드는 행 시간값으로 구성된 벡터에 누락값(NaT)이 없다고 표시합니다.

s.Time
ans = struct with fields:
          Size: [3 1]
          Type: 'datetime'
           Min: 18-Dec-2015 08:00:00
        Median: 18-Dec-2015 10:00:00
           Max: 18-Dec-2015 12:00:00
    NumMissing: 0
      TimeStep: 02:00:00

마지막 행 시간값을 변경하여 행 시간값 사이의 간격을 다르게 합니다.

TT.Time(3) = '2015-12-18 11:00:00';
TT
TT=3×2 timetable
            Time            Temp    Pressure
    ____________________    ____    ________

    18-Dec-2015 08:00:00    37.3      30.1  
    18-Dec-2015 10:00:00    39.1     30.03  
    18-Dec-2015 11:00:00    42.3      29.9  

업데이트된 타임테이블의 요약을 반환합니다. 행 시간값 사이의 시간 스텝이 다르기 때문에 TimeStep 필드가 NaN 값을 가집니다.

s = summary(TT);
s.Time
ans = struct with fields:
          Size: [3 1]
          Type: 'datetime'
           Min: 18-Dec-2015 08:00:00
        Median: 18-Dec-2015 10:00:00
           Max: 18-Dec-2015 11:00:00
    NumMissing: 0
      TimeStep: NaN

R2018b부터 테이블과 타임테이블에 사용자 지정 속성을 추가할 수 있습니다. 사용자 지정 속성을 추가하면 테이블 또는 타임테이블의 요약에 해당 속성이 포함됩니다.

먼저 테이블을 만든 다음 테이블의 미리 정의된 속성 중 일부에 값을 추가합니다.

load patients
BloodPressure = [Systolic Diastolic];
T = table(Gender,Age,Smoker,BloodPressure,'RowNames',LastName);
T.Properties.Description = 'Simulated patient data';
T.Properties.VariableUnits =  {''  'Yrs' ''  'mm Hg'};
T.Properties.VariableDescriptions{4} = 'Systolic/Diastolic';

addprop 함수를 사용하여 사용자 지정 속성을 추가합니다. 각 사용자 지정 속성에 대해 이름을 지정합니다. 각 사용자 지정 속성의 값에 테이블 혹은 개별 테이블 변수에 적용되는 메타데이터가 저장되는지도 지정합니다.

T = addprop(T,{'SourceFile','DataOrigin'},{'table','variable'});

메타데이터 값을 사용자 지정 속성에 저장합니다.

T.Properties.CustomProperties.SourceFile = 'patients.mat';
T.Properties.CustomProperties.DataOrigin = {'census','census','self report','blood pressure reading'};

테이블의 요약을 출력합니다. summary 함수는 T.Properties.Description 외에는 테이블 전체에 적용되는 속성을 표시하지 않습니다. 따라서 T.Properties.CustomProperties.SourceFile의 값을 표시하지 않습니다. 단, summary는 테이블 변수에 적용되는 속성은 표시합니다. summary는 각 변수에 대해 T.Properties.CustomProperties.DataOrigin의 대응하는 값을 표시합니다.

summary(T)
Description:  Simulated patient data

Variables:

    Gender: 100x1 cell array of character vectors

        Custom Properties:
            DataOrigin:  census
    Age: 100x1 double

        Properties:
            Units:  Yrs
        Custom Properties:
            DataOrigin:  census
        Values:

            Min          25   
            Median       39   
            Max          50   

    Smoker: 100x1 logical

        Custom Properties:
            DataOrigin:  self report
        Values:

            True        34   
            False       66   

    BloodPressure: 100x2 double

        Properties:
            Units:  mm Hg
            Description:  Systolic/Diastolic
        Custom Properties:
            DataOrigin:  blood pressure reading
        Values:
                      Column 1    Column 2
                      ________    ________

            Min         109           68  
            Median      122         81.5  
            Max         138           99  

요약을 구조체로 반환합니다. 각 필드는 테이블 변수 중 하나에 대응하는 구조체를 갖습니다.

s = summary(T)
s = struct with fields:
           Gender: [1x1 struct]
              Age: [1x1 struct]
           Smoker: [1x1 struct]
    BloodPressure: [1x1 struct]

구조체 s.Age에는 Age 변수에 대한 요약이 들어 있습니다.

s.Age
ans = struct with fields:
                Size: [100 1]
                Type: 'double'
         Description: ''
               Units: 'Yrs'
          Continuity: []
                 Min: 25
              Median: 39
                 Max: 50
          NumMissing: 0
    CustomProperties: [1x1 struct]

s.Age.CustomProperties 구조체에는 T.Properties.CustomProperties.DataOrigin 속성에서 대응되는 값을 담고 있습니다.

s.Age.CustomProperties
ans = struct with fields:
    DataOrigin: {'census'}

1×5 categorical형 벡터를 만듭니다.

A = categorical({'plane' 'car' 'train' 'car' 'plane'})
A = 1x5 categorical
     plane      car      train      car      plane 

A에는 car, plane, train의 3개 범주가 있습니다.

A 요약을 출력합니다.

summary(A)
     car      plane      train 
     2        2          1     

A에서 car는 2개의 요소에, plane도 2개의 요소에, train은 1개의 요소에 나타납니다.

A가 행 벡터이기 때문에 summary는 각 범주가 나오는 횟수를 가로로 나열합니다.

숫자형 배열에서 4×2 categorical형 배열 A를 만듭니다.

X = [1 3; 2 1; 3 1; 4 2];
valueset = 1:3;
catnames = {'red','green','blue'};

A = categorical(X,valueset,catnames)
A = 4x2 categorical
     red              blue  
     green            red   
     blue             red   
     <undefined>      green 

A에는 red, green, blue의 3개 범주가 있습니다. 값 4categorical 함수에 대한 valueset 입력값에 포함되어 있지 않았습니다. 따라서 이에 대응하는 요소 A(4,1)은 대응하는 범주가 없어 정의되지 않은 요소(undefined)로 표시됩니다.

A 요약을 출력합니다.

summary(A)
     red              1      2 
     green            1      1 
     blue             1      1 
     <undefined>      1      0 

redA의 첫 번째 열에 한 번 나타나고 두 번째 열에 두 번 나타납니다.

greenA의 첫 번째 열과 두 번째 열에 한 번씩 나타납니다.

blueA의 첫 번째 열과 두 번째 열에 한 번씩 나타납니다.

A에는 정의되지 않은 요소가 1개만 있습니다. 이 요소는 첫 번째 열에 나타납니다.

숫자형 배열에서 3×2 categorical형 배열 A를 만듭니다.

A = categorical([1 3; 2 1; 3 1],1:3,{'red','green','blue'})
A = 3x2 categorical
     red        blue 
     green      red  
     blue       red  

A에는 red, green, blue의 3개 범주가 있습니다.

두 번째 차원을 따라 A의 요약을 출력합니다.

summary(A,2)
     red      green      blue 
     1        0          1    
     1        1          0    
     1        0          1    

redA의 첫 번째 행과 두 번째 행 그리고 세 번째 행에 한 번씩 나타납니다.

green은 1개 요소에만 나타납니다. 해당 값은 A의 두 번째 행에 나타납니다.

blueA의 첫 번째 행과 세 번째 행에 한 번씩 나타납니다.

입력 인수

모두 축소

입력 테이블로, table형이나 timetable형으로 지정됩니다.

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

함수 동작이 수행될 A의 차원으로, 양의 정수 스칼라로 지정됩니다. 값이 지정되지 않은 경우 디폴트는 크기가 1이 아닌 첫 번째 배열 차원입니다.

2차원 categorical형 배열 A가 있다고 가정하겠습니다.

dim = 1인 경우 summary(A,dim)A의 각 열에 대한 범주 개수를 표시합니다.

dim = 2인 경우 summary(A,dim)A의 각 행에 대한 범주 개수를 표시합니다.

dimndims(A)보다 큰 경우 summary(A)는 각 범주에 대해 A와 크기가 같은 배열을 반환합니다. summary는 요소가 해당 범주에 속하면 1을, 그렇지 않으면 0을 반환합니다.

출력 인수

모두 축소

테이블 변수 또는 타임테이블 변수의 요약으로, 스칼라 구조체로 반환됩니다. 입력 T에 있는 각 변수 T.VarName에 대해 출력 구조체 s에는 해당 변수에 대한 요약이 포함된 필드 s.VarName이 들어 있습니다.

T에 유효한 MATLAB® 식별자가 아닌 이름의 변수가 있는 경우, summary는 변수를 수정하여 우선 공백을 제거하고 비ASCII 문자를 밑줄로 바꾸어 유효한 필드 이름이 생성되도록 합니다.

각 데이터형별로 s.VarName에는 아래와 같은 필드가 포함됩니다. 점 인덱싱을 사용하여 필드에 액세스할 수 있습니다. 예를 들어, s.VarName.Size는 테이블 변수 VarName의 크기를 반환합니다.

테이블 변수 또는 타임테이블 변수의 유형

변수 요약 필드

설명

숫자형, datetime형 또는 duration

Size

변수 크기로, 숫자형 배열로 저장됩니다.

Type

변수 유형으로, 문자형 벡터로 저장됩니다.

Description

변수 설명으로, 문자형 벡터로 저장됩니다.

Units

변수 단위로, 문자형 벡터로 저장됩니다.

Min

최솟값

Median

중앙값

Max

최댓값

NumMissing

누락값(NaN 또는 NaT)의 개수

CustomProperties(사용자 지정 속성이 없으면 생략됨)

변수의 사용자 지정 속성의 이름과 값으로, 구조체로 저장됩니다.

논리형

Size

변수 크기로, 숫자형 배열로 저장됩니다.

Type

변수 유형으로, 문자형 벡터로 저장됩니다.

Description

변수 설명으로, 문자형 벡터로 저장됩니다.

Units

변수 단위로, 문자형 벡터로 저장됩니다.

True

true 값 개수

False

false 값 개수

CustomProperties(사용자 지정 속성이 없으면 생략됨)

변수의 사용자 지정 속성의 이름과 값으로, 구조체로 저장됩니다.

categorical

Size

변수 크기로, 숫자형 배열로 저장됩니다.

Type

변수 유형으로, 문자형 벡터로 저장됩니다.

Description

변수 설명으로, 문자형 벡터로 저장됩니다.

Units

변수 단위로, 문자형 벡터로 저장됩니다.

Categories

범주로, 문자형 벡터로 구성된 셀형 배열로 저장됩니다.

Counts

각 범주의 요소 개수로, 숫자형 배열로 저장됩니다.

NumMissing

누락값(<undefined>)의 개수

CustomProperties(사용자 지정 속성이 없으면 생략됨)

변수의 사용자 지정 속성의 이름과 값으로, 구조체로 저장됩니다.

기타

Size

변수 크기로, 숫자형 배열로 저장됩니다.

Type

변수 유형으로, 문자형 벡터로 저장됩니다.

Description

변수 설명으로, 문자형 벡터로 저장됩니다.

Units

변수 단위로, 문자형 벡터로 저장됩니다.

CustomProperties(사용자 지정 속성이 없으면 생략됨)

변수의 사용자 지정 속성의 이름과 값으로, 구조체로 저장됩니다.

T가 타임테이블이면 s에 행 시간값 요약이 포함된 필드도 포함됩니다. 타임테이블의 행 시간값에 대해서만 요약에 TimeStep 필드가 포함됩니다. 행 시간값이 고정된 시간 스텝만큼 단조 증가하거나 단조 감소하는 경우 TimeStep은 숫자형 값을 가집니다. 행 시간값이 불규칙적이면 TimeStepNaN입니다.

타임테이블 행 시간값의 요약 필드

필드 설명

Size

행 시간값으로 구성된 벡터의 크기로, 숫자형 배열로 저장됩니다.

Type

데이터형으로, 문자형 벡터로 저장됩니다.

Min

최솟값

Median

중앙값

Max

최댓값

NumMissing

누락값(NaT 또는 NaN)의 개수

TimeStep

연속된 행 시간값 사이의 시간 스텝(불규칙적인 경우 NaN으로 설정됨)

세부 정보

모두 축소

테이블 요약

테이블 요약에는 T.Properties.Description의 테이블 설명과 T의 변수에 대한 정보가 차례대로 표시됩니다.

요약에 포함되는 변수 정보는 다음과 같습니다.

  • 이름: 크기, 데이터형 — T.Properties.VariableNames의 변수 이름, 변수 크기, 변수의 데이터형.

  • 단위 — T.Properties.VariableUnits의 변수 단위.

  • 설명 — T.Properties.VariableDescriptions의 변수 설명.

  • 사용자 지정 속성 — T.Properties.CustomProperties에 있는, 변수에 적용되는 사용자 지정 속성의 이름과 해당 이름에 대응하는 값. 사용자 지정 속성이 없으면 이 섹션은 생략됩니다.

  • 값 — 숫자형 변수, 논리형 변수, categorical형 변수, datetime형 변수 또는 duration형 변수의 경우에만 포함됨.

    • 숫자형 변수, datetime형 변수 또는 duration형 변수 — 최솟값, 중앙값, 최댓값. 또한 숫자가 0보다 크면 누락값(NaN 또는 NaT)의 개수가 포함됩니다.

    • 논리형 변수 — true 값의 개수와 false 값의 개수.

    • categorical형 변수 — 각 범주의 요소 개수. 또한 숫자가 0보다 크면 정의되지 않은 요소의 개수가 포함됩니다.

T가 타임테이블이면 행 시간값으로 구성된 벡터에 대한 동일한 정보가 요약에 포함됩니다.

확장 기능

버전 내역

R2013b에 개발됨