Main Content

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

groupsummary

그룹 요약 계산

설명

테이블 데이터

예제

G = groupsummary(T,groupvars)는 테이블 또는 타임테이블 T에 대해 고유한 그룹화 변수 조합과 각 그룹의 구성원 수를 반환합니다. 그룹은 같은 고유한 값 조합을 가진 groupvars의 변수의 행으로 정의됩니다. 출력 테이블의 각 행은 하나의 그룹에 대응됩니다. 예를 들어, G = groupsummary(T,"HealthStatus")는 변수 HealthStatus의 각 그룹의 수가 포함된 테이블을 반환합니다.

자세한 내용은 그룹 요약 계산 항목을 참조하십시오.

G = groupsummary(T,groupvars,method)method에 지정된 그룹별 계산을 적용하고 계산 결과를 출력 테이블에 추가 변수로 추가합니다. 예를 들어, G = groupsummary(T,"Location","median")은 각 위치의 구성원 수 외에도 각 위치에 대한 T의 각 비그룹화 변수의 중앙값을 반환합니다.

예제

G = groupsummary(T,groupvars,method,datavars)는 메서드를 적용할 테이블 변수를 지정합니다.

G = groupsummary(T,groupvars,groupbins)는 그룹화 전에 비닝 방식 groupbins에 따라 groupvars의 행을 비닝하도록 지정합니다. 예를 들어, G = groupsummary(T,"SaleDate","year")는 그룹화 변수 SaleDate에 따라 T에서 각 연도의 모든 판매에 대한 그룹 도수를 반환합니다.

예제

G = groupsummary(T,groupvars,groupbins,method)method에 지정된 그룹별 계산을 그룹화하고 적용하기 전에 groupvars 데이터를 비닝하는 방법을 지정합니다.

G = groupsummary(T,groupvars,groupbins,method,datavars)는 메서드를 적용할 테이블 변수를 지정합니다.

예제

G = groupsummary(___,Name,Value)는 위에 열거된 구문에서 하나 이상의 이름-값 인수를 사용하여 추가적인 그룹화 속성을 지정합니다. 예를 들어, G = groupsummary(T,"Category1","IncludeMissingGroups",false)Category1에서 <undefined>로 표시되는 누락된 categorical형 데이터에서 만들어진 그룹을 제외합니다.

배열 데이터

B = groupsummary(A,groupvars,method)는 벡터, 행렬 또는 셀형 배열 A의 고유한 그룹에 method의 그룹별 계산을 적용한 결합된 결과를 반환합니다. 그룹은 같은고유한 값 조합을 가진 groupvars의 열 벡터의 행으로 정의됩니다. 출력 배열의 각 행은 한 그룹의 계산 결과를 포함합니다.

예제

B = groupsummary(A,groupvars,groupbins,method)는 그룹화 전에 비닝 방식 groupbins에 따라 groupvars의 행을 비닝하도록 지정합니다.

예제

B = groupsummary(___,Name,Value)는 입력 배열에 대해 위에 열거된 구문 중 하나에서 이름-값 인수를 하나 이상 사용하여 추가적인 그룹화 속성을 지정합니다.

예제

[B,BG,BC] = groupsummary(A,___)는 추가 그룹 정보를 반환합니다. BGB 행에 해당하는 고유한 그룹화 벡터 조합입니다. BC는 각 BG 그룹의 구성원 수입니다.

예제

모두 축소

테이블 변수에 대해 요약 통계량을 계산합니다.

8명의 개인에 대한 정보가 들어 있는 테이블 T를 생성합니다.

HealthStatus = categorical(["Poor"; "Good"; "Fair"; "Fair"; "Poor"; "Excellent"; "Good"; "Excellent"]);
Age = [38; 43; 38; 40; 49; 51; 52; 35];
Height = [71; 68; 64; 67; 64; 62; 65; 55];
Weight = [176; 153; 131; 133; 119; 120; 140; 129];
T = table(HealthStatus,Age,Height,Weight)
T=8×4 table
    HealthStatus    Age    Height    Weight
    ____________    ___    ______    ______

     Poor           38       71       176  
     Good           43       68       153  
     Fair           38       64       131  
     Fair           40       67       133  
     Poor           49       64       119  
     Excellent      51       62       120  
     Good           52       65       140  
     Excellent      35       55       129  

HealthStatus를 그룹화 변수로 지정하여 건강 상태 그룹의 수를 계산합니다.

G = groupsummary(T,"HealthStatus")
G=4×2 table
    HealthStatus    GroupCount
    ____________    __________

     Excellent          2     
     Fair               2     
     Good               2     
     Poor               2     

각 건강 상태 그룹의 평균 연령, 신장, 체중을 계산합니다.

G = groupsummary(T,"HealthStatus","mean")
G=4×5 table
    HealthStatus    GroupCount    mean_Age    mean_Height    mean_Weight
    ____________    __________    ________    ___________    ___________

     Excellent          2             43         58.5           124.5   
     Fair               2             39         65.5             132   
     Good               2           47.5         66.5           146.5   
     Poor               2           43.5         67.5           147.5   

여전히 건강 상태로 그룹화한 상태에서 신장 중앙값만 계산합니다.

G = groupsummary(T,"HealthStatus","median","Height")
G=4×3 table
    HealthStatus    GroupCount    median_Height
    ____________    __________    _____________

     Excellent          2             58.5     
     Fair               2             65.5     
     Good               2             66.5     
     Poor               2             67.5     

2개의 그룹화 변수를 사용하여 테이블 데이터를 그룹화합니다.

8명의 개인에 대한 정보가 들어 있는 테이블 T를 생성합니다.

HealthStatus = categorical(["Poor"; "Good"; "Fair"; "Fair"; "Poor"; "Excellent"; "Good"; "Excellent"]);
Smoker = logical([1; 0; 0; 1; 1; 0; 0; 1]);
Weight = [176; 153; 131; 133; 119; 120; 140; 129];
T = table(HealthStatus,Smoker,Weight)
T=8×3 table
    HealthStatus    Smoker    Weight
    ____________    ______    ______

     Poor           true       176  
     Good           false      153  
     Fair           false      131  
     Fair           true       133  
     Poor           true       119  
     Excellent      false      120  
     Good           false      140  
     Excellent      true       129  

건강 상태와 흡연 여부로 그룹화하여 평균 체중을 계산합니다. 여기서 건강 상태와 흡연 여부의 조합 중 몇 가지는 빈 그룹이므로 기본적으로 출력값에 표시되지 않습니다.

G = groupsummary(T,["HealthStatus","Smoker"],"mean","Weight")
G=6×4 table
    HealthStatus    Smoker    GroupCount    mean_Weight
    ____________    ______    __________    ___________

     Excellent      false         1              120   
     Excellent      true          1              129   
     Fair           false         1              131   
     Fair           true          1              133   
     Good           false         2            146.5   
     Poor           true          2            147.5   

IncludeEmptyGroups 값을 true로 설정하여 빈 그룹을 포함한 모든 그룹 조합을 표시합니다.

G = groupsummary(T,["HealthStatus","Smoker"],"mean","Weight","IncludeEmptyGroups",true)
G=8×4 table
    HealthStatus    Smoker    GroupCount    mean_Weight
    ____________    ______    __________    ___________

     Excellent      false         1              120   
     Excellent      true          1              129   
     Fair           false         1              131   
     Fair           true          1              133   
     Good           false         2            146.5   
     Good           true          0              NaN   
     Poor           false         0              NaN   
     Poor           true          2            147.5   

지정된 Bin에 따라 데이터를 그룹화합니다.

하나의 달에 포함된 여러 날짜의 판매량 정보가 들어 있는 타임테이블을 생성합니다.

TimeStamps = datetime([2017 3 4; 2017 3 2; 2017 3 15; 2017 3 10; ...
                       2017 3 14; 2017 3 31; 2017 3 25; ...
                       2017 3 29; 2017 3 21; 2017 3 18]);
Profit = [2032 3071 1185 2587 1998 2899 3112 909 2619 3085]';
ItemsSold = [14 13 8 5 10 16 8 6 7 11]';
TT = timetable(TimeStamps,Profit,ItemsSold)
TT=10×2 timetable
    TimeStamps     Profit    ItemsSold
    ___________    ______    _________

    04-Mar-2017     2032        14    
    02-Mar-2017     3071        13    
    15-Mar-2017     1185         8    
    10-Mar-2017     2587         5    
    14-Mar-2017     1998        10    
    31-Mar-2017     2899        16    
    25-Mar-2017     3112         8    
    29-Mar-2017      909         6    
    21-Mar-2017     2619         7    
    18-Mar-2017     3085        11    

그룹을 아이템 개수의 구간으로 비닝하여, 판매량에 따라 비닝된 수익의 평균값과 최빈값을 계산합니다.

format shorte
G = groupsummary(TT,"ItemsSold",[0 4 8 12 16],{"mean","mode"},"Profit")
G=3×4 table
    disc_ItemsSold    GroupCount    mean_Profit    mode_Profit
    ______________    __________    ___________    ___________

       [4, 8)         3.0000e+00    2.0383e+03     9.0900e+02 
       [8, 12)        4.0000e+00    2.3450e+03     1.1850e+03 
       [12, 16]       3.0000e+00    2.6673e+03     2.0320e+03 

요일별 평균 수익을 계산합니다.

G = groupsummary(TT,"TimeStamps","dayname","mean","Profit")
G=5×3 table
    dayname_TimeStamps    GroupCount    mean_Profit
    __________________    __________    ___________

        Tuesday           2.0000e+00    2.3085e+03 
        Wednesday         2.0000e+00    1.0470e+03 
        Thursday          1.0000e+00    3.0710e+03 
        Friday            2.0000e+00    2.7430e+03 
        Saturday          3.0000e+00    2.7430e+03 

날짜로 구성된 벡터와 이에 대응하는 수익값으로 구성된 벡터를 만듭니다.

TimeStamps = datetime([2017 3 4; 2017 3 2; 2017 3 15; 2017 3 10; ...
                       2017 3 14; 2017 3 31; 2017 3 25; ...
                       2017 3 29; 2017 3 21; 2017 3 18]);
Profit = [2032 3071 1185 2587 1998 2899 3112 909 2619 3085]';

요일별 평균 수익을 계산합니다. 각 그룹의 평균, 그룹 이름, 구성원 수를 표시합니다.

format shorte
[meanDailyProfit,dayOfWeek,dailyCounts] = groupsummary(Profit,TimeStamps,"dayname","mean")
meanDailyProfit = 5×1

   2.3085e+03
   1.0470e+03
   3.0710e+03
   2.7430e+03
   2.7430e+03

dayOfWeek = 5x1 categorical
     Tuesday 
     Wednesday 
     Thursday 
     Friday 
     Saturday 

dailyCounts = 5×1

     2
     2
     1
     2
     3

건강 상태와 흡연 상태에 따라 묶은 사람들의 그룹에 대한 평균 체중을 계산합니다.

개인에 대한 정보를 서로 다른 유형의 벡터 3개로 저장합니다.

HealthStatus = categorical(["Poor"; "Good"; "Fair"; "Fair"; "Poor"; "Excellent"; "Good"; "Excellent"]);
Smoker = logical([1; 0; 0; 1; 1; 0; 0; 1]);
Weight = [176; 153; 131; 133; 119; 120; 140; 129];

건강 상태와 흡연 상태에 따라 그룹화하고, 평균 체중을 계산합니다.

B는 각 그룹의 평균을 포함합니다(빈 그룹의 경우 NaN). BG는 그룹의 요소를 행별로 관찰했을 때 각 그룹을 설명하는 2개의 벡터를 포함하는 셀형 배열입니다. 예를 들어, BG{1}의 첫 번째 행은 첫 번째 그룹의 환자의 건강 상태가 Excellent임을 나타내며, BG{2}의 첫 번째 행은 이들이 비흡연자임을 나타냅니다. 마지막으로, BCBG의 대응하는 그룹에 대한 각 그룹의 구성원 수를 포함합니다.

[B,BG,BC] = groupsummary(Weight,{HealthStatus,Smoker},"mean","IncludeEmptyGroups",true);
B
B = 8×1

  120.0000
  129.0000
  131.0000
  133.0000
  146.5000
       NaN
       NaN
  147.5000

BG{1}
ans = 8x1 categorical
     Excellent 
     Excellent 
     Fair 
     Fair 
     Good 
     Good 
     Poor 
     Poor 

BG{2}
ans = 8x1 logical array

   0
   1
   0
   1
   0
   1
   0
   1

BC
BC = 8×1

     1
     1
     1
     1
     2
     0
     0
     2

환자 정보를 포함하는 데이터를 불러와서 각 환자의 위치, 수축기 및 확장기 혈압, 신장, 체중을 설명하는 테이블을 만듭니다.

load patients
Location = categorical(Location);
T = table(Location,Systolic,Diastolic,Height,Weight)
T=100×5 table
            Location             Systolic    Diastolic    Height    Weight
    _________________________    ________    _________    ______    ______

    County General Hospital        124          93          71       176  
    VA Hospital                    109          77          69       163  
    St. Mary's Medical Center      125          83          64       131  
    VA Hospital                    117          75          67       133  
    County General Hospital        122          80          64       119  
    St. Mary's Medical Center      121          70          68       142  
    VA Hospital                    130          88          64       142  
    VA Hospital                    115          82          68       180  
    St. Mary's Medical Center      115          78          68       183  
    County General Hospital        118          86          66       132  
    County General Hospital        114          77          68       128  
    St. Mary's Medical Center      115          68          66       137  
    VA Hospital                    127          74          71       174  
    VA Hospital                    130          95          72       202  
    St. Mary's Medical Center      114          79          65       129  
    VA Hospital                    130          92          71       181  
      ⋮

위치를 기준으로 그룹화하여 환자 신장과 체중 사이의 상관 및 수축기 혈압과 확장기 혈압 사이의 상관을 계산합니다. 상관을 계산하는 메서드로 xcov 함수를 사용합니다. xcov에 대한 처음 두 개의 입력 인수는 상관을 구할 데이터를 설명하고, 세 번째 인수는 지연 크기를 설명하고, 네 번째 인수는 정규화 유형을 설명합니다. 각 그룹 계산에 대해, xcov로 전달되는 x 인수와 y 인수는 두 개의 셀 요소 ["Height","Systolic"]["Weight","Diastolic"]의 변수를 기준으로 쌍별(Pairwise)로 지정됩니다.

G = groupsummary(T,"Location",@(x,y) xcov(x,y,0,"coeff"),{["Height","Systolic"],["Weight","Diastolic"]})
G=3×4 table
            Location             GroupCount    fun1_Height_Weight    fun1_Systolic_Diastolic
    _________________________    __________    __________________    _______________________

    County General Hospital          39             0.65483                  0.44187        
    St. Mary's Medical Center        24             0.62047                  0.44466        
    VA Hospital                      37             0.78438                  0.62256        

또는 데이터가 테이블이 아닌 벡터 또는 행렬 형식인 경우, 상관을 구할 데이터를 groupsummary의 첫 번째 입력 인수로 제공할 수 있습니다.

[B,BG,BC] = groupsummary({[Height,Systolic],[Weight,Diastolic]},Location,@(x,y) xcov(x,y,0,"coeff"))
B = 3×2

    0.6548    0.4419
    0.6205    0.4447
    0.7844    0.6226

BG = 3x1 categorical
     County General Hospital 
     St. Mary's Medical Center 
     VA Hospital 

BC = 3×1

    39
    24
    37

입력 인수

모두 축소

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

입력 배열로, 열 벡터, 행렬로 저장된 열 벡터의 그룹, 또는 행 벡터나 문자열 행 벡터의 셀형 배열, 또는 행렬로 지정됩니다.

둘 이상의 입력 인수를 받는 method에 대해 함수 핸들을 지정하는 경우 입력 배열 A는 열 벡터나 문자열 벡터 또는 행렬로 구성된 셀형 배열이어야 합니다. 각각의 그룹별 함수 호출에서, 입력 인수는 셀형 배열에 있는 각 요소의 대응되는 열입니다. 예를 들면 다음과 같습니다.

  • groupsummary({x1,y1},groupvars,@(x,y) myFun(x,y))는 각 그룹에 대해 myFun(x1,y1)을 계산합니다.

  • groupsummary({[x1 x2],[y1 y2]},groupvars,@(x,y) myFun(x,y))는 먼저 각 그룹에 대해 myFun(x1,y1)을 계산한 다음 각 그룹에 대해 myFun(x2,y2)를 계산합니다.

그룹화 변수 또는 벡터로, 다음과 같은 옵션 중 하나로 지정됩니다.

  • 배열 입력 데이터의 경우 groupvarsA와 행 개수가 같은 열 벡터이거나 열 벡터로 구성된 행렬 또는 셀형 배열일 수 있습니다.

  • table형 또는 timetable형 입력 데이터의 경우 groupvars는 데이터에서 어느 변수를 사용하여 그룹을 계산할지 나타냅니다. 이 표의 옵션으로 그룹화 변수를 지정할 수 있습니다.

    인덱싱 방식예제

    변수 이름:

    • string형, 문자형 벡터 또는 셀형 배열

    • pattern 객체

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

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

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

    변수 인덱스:

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

    • 숫자로 구성된 벡터

    • 논리형 벡터. 일반적으로 이 벡터는 변수의 개수와 길이가 같지만 후행 0 값 또는 false 값을 생략할 수 있음

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

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

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

    함수 핸들:

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

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

    변수 유형:

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

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

예: groupsummary(T,"Var3")

계산 방법으로, 다음 값 중 하나로 지정됩니다.

방법

설명
"sum"
"mean"평균값
"median"중앙값
"mode"최빈값
"var"분산
"std"표준편차
"min"최솟값
"max"최댓값
"range"최댓값에서 최솟값을 뺀 값
"nummissing"누락된 요소의 개수
"numunique"누락값이 아닌 서로 다른 요소의 개수
"nnz"

0이 아닌 요소와 NaN이 아닌 요소의 개수

"all"위에 나열된 모든 계산 결과

method를 첫 번째 차원의 길이가 1인 그룹마다 한 개의 출력값을 반환하는 함수 핸들로 지정할 수도 있습니다. table형 입력 데이터의 경우 함수는 각 테이블 변수에 대해 개별적으로 연산을 수행합니다.

입력 데이터가 테이블 T이고 둘 이상의 입력 인수를 받는 method에 대해 함수 핸들을 지정하는 경우 datavars를 지정해야 합니다. datavars 인수는 셀형 배열이어야 하며, 이때 배열의 요소는 메서드의 각 입력값으로 사용할 테이블 변수를 나타냅니다. 각각의 그룹별 함수 호출에서, 입력 인수는 셀형 배열 요소들로 구성된 대응되는 테이블 변수입니다. 예를 들면 다음과 같습니다.

  • groupsummary(T,groupvars,@(x,y) myFun(x,y),{"x1","y1"})은 각 그룹에 대해 myFun(T.x1,T.y1)을 계산합니다.

  • groupsummary(T,groupvars,@(x,y) myFun(x,y),{["x1" "x2"],["y1" "y2"]})는 먼저 각 그룹에 대해 myFun(T.x1,T.y1)을 계산한 다음 각 그룹에 대해 myFun(T.x2,T.y2)를 계산합니다.

입력 데이터가 벡터 또는 행렬이고 둘 이상의 입력 인수를 받는 method에 대해 함수 핸들을 지정하는 경우 입력 데이터 A는 벡터 또는 행렬로 구성된 셀형 배열이어야 합니다. 각각의 함수 호출에서, 입력 인수는 셀형 배열에 있는 각 요소의 대응되는 열입니다. 예를 들면 다음과 같습니다.

  • groupsummary({x1,y1},groupvars,@(x,y) myFun(x,y))는 각 그룹에 대해 myFun(x1,y1)을 계산합니다.

  • groupsummary({[x1 x2],[y1 y2]},groupvars,@(x,y) myFun(x,y))는 먼저 각 그룹에 대해 myFun(x1,y1)을 계산한 다음 각 그룹에 대해 myFun(x2,y2)를 계산합니다.

한 번에 여러 개의 계산을 지정하려면 옵션을 셀형 배열에 나열하십시오(예: {"mean","median"} 또는 {myFun1,myFun2}).

입력 데이터의 NaN 값은 여기에 설명된 메서드 이름을 사용하는 경우 자동으로 생략됩니다("nummissing"은 예외). NaN 값을 포함하려면 메서드의 함수 핸들을 사용하십시오(예: "sum" 대신 @sum 사용).

데이터형: char | string | cell | function_handle

연산을 수행할 테이블 변수로, 다음 표에 있는 옵션 중 하나로 지정됩니다. datavars는 메서드가 적용되는 입력 테이블 변수 또는 타임테이블 변수를 나타냅니다. datavars로 지정되지 않은 다른 변수는 연산이 수행되지 않고 출력값으로 전달되지 않습니다. datavars가 지정되지 않은 경우, groupsummary는 각 비그룹화 변수에 대한 연산을 수행합니다.

인덱싱 방식예제

변수 이름:

  • string형, 문자형 벡터 또는 셀형 배열

  • pattern 객체

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

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

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

변수 인덱스:

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

  • 숫자로 구성된 벡터

  • 논리형 벡터. 일반적으로 이 벡터는 변수의 개수와 길이가 같지만 후행 0 값 또는 false 값을 생략할 수 있음

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

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

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

함수 핸들:

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

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

변수 유형:

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

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

입력 데이터가 테이블 T이고 둘 이상의 입력 인수를 받는 method에 대해 함수 핸들을 지정하는 경우 datavars를 지정해야 합니다. datavars 인수는 셀형 배열이어야 하며, 이때 배열의 요소는 테이블의 옵션 중 하나입니다. 셀형 배열 요소는 메서드의 각 입력값으로 사용할 테이블 변수를 나타냅니다. 각각의 그룹별 함수 호출에서, 입력 인수는 셀형 배열 요소들로 구성된 대응되는 테이블 변수입니다. 예를 들면 다음과 같습니다.

  • groupsummary(T,groupvars,@(x,y) myFun(x,y),{"x1","y1"})은 각 그룹에 대해 myFun(T.x1,T.y1)을 계산합니다.

  • groupsummary(T,groupvars,@(x,y) myFun(x,y),{["x1" "x2"],["y1" "y2"]})는 먼저 각 그룹에 대해 myFun(T.x1,T.y1)을 계산한 다음 각 그룹에 대해 myFun(T.x2,T.y2)를 계산합니다.

예: groupsummary(T,groupvars,method,["Var1" "Var2" "Var4"])

그룹화 변수 또는 벡터에 대한 비닝 방식으로, 다음 비닝 방법 중 하나 이상으로 지정됩니다. 모든 그룹화 변수 또는 벡터에 동일한 비닝 방법을 적용하려면 하나의 비닝 방법을 지정하십시오. 각 그룹화 변수 또는 벡터에 서로 다른 비닝 방법을 적용하려면, 비닝 방법으로 구성된 셀형 배열을 지정하십시오. 이때 각 셀에는 해당 그룹화 변수 또는 벡터의 비닝 방법이 포함됩니다.

  • "none" — 비닝하지 않음.

  • Bin 경계값으로 구성된 벡터 — Bin 경계값에 따라 Bin이 정의됩니다. datetime형 그룹화 변수 또는 벡터의 경우 경계값을 숫자형 값 또는 datetime형 값으로 지정할 수 있습니다.

  • Bin 개수 — 이 숫자에 따라 균일한 간격으로 생성할 Bin 개수가 결정됩니다. Bin 개수는 양의 정수 스칼라로 지정할 수 있습니다.

  • 시간 길이(Bin 너비) — 이 시간 길이에 따라 각 Bin의 너비가 결정됩니다. datetime형 또는 duration형 그룹화 변수 또는 벡터의 경우 Bin 너비를 duration형 또는 calendarDuration형 스칼라로 지정할 수 있습니다.

  • 시간 단위의 이름(Bin 너비) — 각 Bin의 너비를 결정하는 시간 단위의 이름입니다. datetime형 또는 duration형 그룹화 변수 또는 벡터의 경우 Bin 너비를 다음 표에 나와 있는 옵션 중 하나로 지정할 수 있습니다.

    설명데이터형
    "second"

    각 Bin은 1초입니다.

    datetimeduration
    "minute"

    각 Bin은 1분입니다.

    datetimeduration
    "hour"

    각 Bin은 1시간입니다.

    datetimeduration
    "day"

    각 Bin은 달력상의 1일입니다. 이 값은 일광 절약 시간제 변동을 고려합니다.

    datetimeduration
    "week"각 Bin은 달력상의 1주일입니다.datetime
    "month"각 Bin은 달력상의 1개월입니다.datetime
    "quarter"각 Bin은 달력상의 1사분기입니다.datetime
    "year"

    각 Bin은 달력상의 1년입니다. 이 값은 윤일을 고려합니다.

    datetimeduration
    "decade"각 Bin은 10년(달력상의 10년)입니다.datetime
    "century"각 Bin은 1세기(달력상의 100년)입니다.datetime
    "secondofminute"

    Bin은 0~59 사이의 초입니다.

    datetime
    "minuteofhour"

    Bin은 0~59 사이의 분입니다.

    datetime
    "hourofday"

    Bin은 0~23 사이의 시입니다.

    datetime
    "dayofweek"

    Bin은 1~7 사이의 요일입니다. 한 주의 첫째 날은 일요일입니다.

    datetime
    "dayname"Bin은 요일의 전체 이름입니다(예: "Sunday").datetime
    "dayofmonth"Bin은 1~31 사이의 일입니다.datetime
    "dayofyear"Bin은 1~366 사이의 일입니다.datetime
    "weekofmonth"Bin은 1~6 사이의 주입니다.datetime
    "weekofyear"Bin은 1~54 사이의 주입니다.datetime
    "monthname"Bin은 월의 전체 이름입니다(예: "January").datetime
    "monthofyear"

    Bin은 1~12 사이의 월입니다.

    datetime
    "quarterofyear"Bin은 1~4 사이의 분기입니다.datetime

예: G = groupsummary(T,"Var1",[-Inf 0 Inf])

예: G = groupsummary(T,["Var1" "Var2"],{"none" "year"})

이름-값 인수

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

예: G = groupsummary(T,groupvars,groupbins,IncludedEdge="right")

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

예: G = groupsummary(T,groupvars,groupbins,"IncludedEdge","right")

비닝 방식에 대한 포함된 Bin 경계값으로, "left" 또는 "right"로 지정되며, Bin 구간의 어느 끝을 포함하는지 나타냅니다.

groupbins도 지정하는 경우에만 IncludedEdge를 지정할 수 있으며, 그 값은 모든 그룹화 변수 또는 벡터의 모든 비닝 방법에 적용됩니다.

누락값을 그룹으로 처리하기 위한 옵션으로, 숫자형 또는 논리값 1(true) 또는 0(false)으로 지정됩니다. IncludeMissingGroupstrue인 경우 groupsummary는 그룹화 변수 또는 벡터에 있는 NaN 같은 누락값을 그룹으로 처리합니다. 그룹화 변수 또는 벡터에 누락값이 없거나 IncludeMissingGroupsfalse이면 groupsummary는 누락값을 그룹으로 처리하지 않습니다.

그룹 요약 연산에 비어 있는 그룹을 포함하기 위한 옵션으로, 숫자형 또는 논리값 1(true) 또는 0(false)으로 지정됩니다. IncludeEmptyGroupsfalse이면 groupsummary는 빈 그룹을 생략합니다. IncludeEmptyGroupstrue이면 groupsummary는 빈 그룹을 포함합니다.

다음과 같은 경우에 빈 그룹이 발생합니다.

  • 입력 데이터(예: categorical형, 논리형 또는 비닝된 숫자형 변수 또는 벡터)에 그룹화 변수 또는 벡터의 가능한 값이 표시되지 않은 경우. 예를 들어, 입력 테이블에 논리형 그룹화 변수의 값이 true인 행이 없는 경우 true는 빈 그룹을 정의합니다.

  • 그룹화 변수 또는 벡터의 고유한 조합이 입력 데이터에 표시되지 않은 경우. 예를 들어 입력 테이블에 그룹화 변수 A의 값이 A1이고 그룹화 변수 B의 값이 B1인 행이 없는 경우 A1_B1은 빈 그룹을 정의합니다.

출력 인수

모두 축소

table형 또는 timetable형 입력 데이터에 대한 출력 테이블로, 테이블로 반환됩니다. G에는 계산된 그룹, 각 그룹의 요소 개수가 포함되고, method가 제공된 경우 지정된 계산 결과가 포함됩니다.

배열 입력 데이터에 대한 출력 배열로, 벡터 또는 행렬로 반환됩니다. B에는 각 그룹에 대해 지정된 계산이 포함됩니다. 여러 방법을 지정하는 경우 groupsummary는 나열된 순서대로 계산 결과를 가로로 결합합니다.

배열 입력 데이터에 대한 그룹으로, 열 벡터로 반환되거나 열 벡터로 구성된 셀형 배열로 반환됩니다. 단일 그룹화 벡터의 경우 출력 그룹은 "sorted" 옵션과 함께 unique 함수로 반환되는 순서에 따라 정렬됩니다.

둘 이상의 입력 벡터의 경우 BG는 동일한 길이의 열 벡터를 포함하는 셀형 배열입니다. 각 그룹에 대한 정보는 BG의 모든 벡터에 걸쳐 있는 행의 요소에 포함되어 있습니다. 각 그룹은 출력 배열 B의 대응하는 행으로 매핑됩니다.

배열 입력 데이터의 그룹 도수로, 열 벡터로 반환됩니다. BC에는 각 그룹의 요소 개수가 포함되어 있습니다. BC의 길이는 BG로 반환된 그룹 열 벡터의 길이와 같습니다.

세부 정보

모두 축소

그룹 요약 계산

다음 표에서는 그룹 요약 계산에 대해 설명합니다.

샘플 테이블 T구문 예제결과 테이블

Input table containing categorical variable VarA and numeric variables VarB and VarC

groupsummary(T,"VarA")

Output table where the row names are the categories of VarA and the variable is the group counts

groupsummary(T,"VarA","mean")

Output table where the row names are the categories of VarA and the variables are the group counts and the means of VarB and VarC

groupsummary(T,["VarA" "VarB"],{"none",[-Inf 0 Inf]},"min")

Output table where the row names are the combinations of categories of VarA and bins of VarB, and the variables are the group counts and the minimum of VarC

groupsummary(T,"VarA",["mean" "median" "mode"],"VarB")

Output table where the row names are the categories of VarA and the variables are the group counts and the mean, median, and mode of VarB

  • groupsummary를 여러 번 호출하는 경우에는 성능 향상을 위해 그룹화 변수를 categorical 유형이나 logical 유형으로 변환하는 것이 좋습니다. 예를 들어, string형 배열 그룹화 변수가 있는 경우(예: 요소 "Poor", "Fair", "Good", "Excellent"가 포함된 HealthStatus), 명령 categorical(HealthStatus)를 사용하여 categorical형 변수로 변환할 수 있습니다.

  • groupsummary 함수는 1차원의 요약 통계량을 계산합니다. 2차원의 그룹화된 요약을 계산하려면 pivot 함수를 사용해 보십시오.

확장 기능

버전 내역

R2018a에 개발됨

모두 확장