이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.
groupsummary
그룹 요약 계산
구문
설명
테이블 데이터
는 위에 열거된 구문에서 하나 이상의 이름-값 인수를 사용하여 추가적인 그룹화 속성을 지정합니다. 예를 들어, G
= groupsummary(___,Name,Value
)G = groupsummary(T,"Category1","IncludeMissingGroups",false)
는 Category1
에서 <undefined>
로 표시되는 누락된 categorical
형 데이터에서 만들어진 그룹을 제외합니다.
배열 데이터
는 입력 배열에 대해 위에 열거된 구문 중 하나에서 이름-값 인수를 하나 이상 사용하여 추가적인 그룹화 속성을 지정합니다.B
= groupsummary(___,Name,Value
)
예제
요약 통계량
테이블 변수에 대해 요약 통계량을 계산합니다.
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
그룹 빈 지정하기
지정된 빈에 따른 그룹 데이터입니다.
하나의 달에 포함된 여러 날짜의 판매량 정보가 들어 있는 타임테이블을 생성합니다.
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}
의 첫 번째 행은 이들이 비흡연자임을 나타냅니다. 마지막으로, BC
는 BG
의 대응하는 그룹에 대한 각 그룹의 구성원 수를 포함합니다.
[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
입력 인수
T
— 입력 테이블
테이블 | 타임테이블
입력 테이블로, table형 또는 timetable형으로 지정됩니다.
A
— 입력 배열
열 벡터 | 행렬 | 셀형 배열
입력 배열로, 열 벡터, 행렬로 저장된 열 벡터의 그룹, 또는 행 벡터나 문자열 행 벡터의 셀형 배열, 또는 행렬로 지정됩니다.
둘 이상의 입력 인수를 받는 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)
를 계산합니다.
groupvars
— 그룹화 변수 또는 벡터
스칼라 | 벡터 | 행렬 | 셀형 배열 | 함수 핸들 | 테이블 vartype
첨자
그룹화 변수 또는 벡터로, 다음과 같은 옵션 중 하나로 지정됩니다.
배열 입력 데이터의 경우
groupvars
는A
와 행 개수가 같은 열 벡터이거나 열 벡터로 구성된 행렬 또는 셀형 배열일 수 있습니다.table형 또는 timetable형 입력 데이터의 경우
groupvars
는 데이터에서 어느 변수를 사용하여 그룹을 계산할지 나타냅니다. 이 표의 옵션으로 그룹화 변수를 지정할 수 있습니다.옵션 설명 예제 변수 이름 단일 테이블 변수 이름을 지정하는 문자형 벡터 또는 string형 스칼라
'Var1'
"Var1"
변수 이름으로 구성된 벡터 각 요소가 테이블 변수 이름인, 문자형 벡터 또는 string형 배열로 구성된 셀형 배열
{'Var1' 'Var2'}
["Var1" "Var2"]
스칼라 또는 변수 인덱스로 구성된 벡터 스칼라 또는 테이블 변수 인덱스로 구성된 벡터
1
[1 3 5]
논리형 벡터 각각의 요소가 테이블 변수에 해당하는 논리형 벡터. 여기서
true
는 해당하는 변수를 포함하고false
는 해당하는 변수를 제외합니다.[true false true]
함수 핸들 테이블 변수를 입력값으로 받고 논리형 스칼라를 반환하는 함수 핸들
@isnumeric
vartype
첨자vartype
함수로 생성된 테이블 첨자vartype("numeric")
예: groupsummary(T,"Var3")
method
— 계산 방법
"sum"
| "mean"
| "median"
| "mode"
| "var"
| "std"
| "min"
| "max"
| "range"
| "nummissing"
| "nnz"
| "all"
| 함수 핸들 | 셀형 배열
계산 방법으로, 다음 값 중 하나로 지정됩니다.
방법 | 설명 |
---|---|
"sum" | 합 |
"mean" | 평균값 |
"median" | 중앙값 |
"mode" | 모드 |
"var" | 분산 |
"std" | 표준편차 |
"min" | 최솟값 |
"max" | 최댓값 |
"range" | 최댓값에서 최솟값을 뺀 값 |
"nummissing" | 누락된 요소의 개수 |
"nnz" | 0이 아닌 요소와 |
"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
— 연산을 수행할 테이블 변수
스칼라 | 벡터 | 셀형 배열 | 함수 핸들 | 테이블 vartype
첨자
연산을 수행할 테이블 변수로, 다음 표에 있는 옵션 중 하나로 지정됩니다. datavars
는 메서드가 적용되는 입력 테이블 변수 또는 타임테이블 변수를 나타냅니다. datavars
로 지정되지 않은 다른 변수는 연산이 수행되지 않고 출력값으로 전달되지 않습니다. datavars
가 지정되지 않은 경우, groupsummary
는 각 비그룹화 변수에 대한 연산을 수행합니다.
옵션 | 설명 | 예제 |
---|---|---|
변수 이름 | 단일 테이블 변수 이름을 지정하는 문자형 벡터 또는 string형 스칼라 |
|
변수 이름으로 구성된 벡터 | 각 요소가 테이블 변수 이름인, 문자형 벡터 또는 string형 배열로 구성된 셀형 배열 |
|
스칼라 또는 변수 인덱스로 구성된 벡터 | 스칼라 또는 테이블 변수 인덱스로 구성된 벡터 |
|
논리형 벡터 | 각각의 요소가 테이블 변수에 해당하는 논리형 벡터. 여기서 |
|
함수 핸들 | 테이블 변수를 입력값으로 받고 논리형 스칼라를 반환하는 함수 핸들 |
|
vartype 첨자 |
|
|
입력 데이터가 테이블 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"])
groupbins
— 비닝 방식
"none"
(디폴트 값) | 스칼라 | 벡터 | 셀형 배열
비닝 방식으로, 다음 옵션 중 하나로 지정됩니다.
"none"
, 즉 비닝하지 않음datetime
그룹화 변수 또는 벡터에 대해datetime
형 벡터 또는 숫자형 벡터로 지정된 Bin 경계값 목록양의 정수 스칼라로 지정된 Bin 개수
duration
또는calendarDuration
유형의 스칼라로 지정된, Bin 너비를 나타내는 지속 시간(datetime
또는duration
그룹화 변수 또는 벡터에만 해당)각 그룹화 변수 또는 벡터의 비닝 방법을 나열하는 셀형 배열
다음 문자열 중 하나로 지정된 시간 Bin(
datetime형
및duration
형 그룹화 변수 또는 벡터에만 해당).값 설명 데이터형 "second"
각 Bin은 1초입니다.
datetime
및duration
"minute"
각 Bin은 1분입니다.
datetime
및duration
"hour"
각 Bin은 1시간입니다.
datetime
및duration
"day"
각 Bin은 달력상의 1일입니다. 이 값은 일광 절약 시간제 변동을 고려합니다.
datetime
및duration
"week"
각 Bin은 달력상의 1주일입니다. datetime
만"month"
각 Bin은 달력상의 1개월입니다. datetime
만"quarter"
각 Bin은 달력상의 1사분기입니다. datetime
만"year"
각 Bin은 달력상의 1년입니다. 이 값은 윤일을 고려합니다.
datetime
및duration
"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
만
여러 그룹화 변수 또는 벡터가 지정된 경우 모든 그룹화 변수 또는 벡터에 적용되는 단일 비닝 방법을 제공하거나 각 그룹화 변수 또는 벡터에 대한 비닝 방법을 포함하는 셀형 배열(예: {"none",[0 2 4 Inf]}
)을 제공할 수 있습니다.
이름-값 인수
선택적 인수 쌍을 Name1=Value1,...,NameN=ValueN
으로 지정합니다. 여기서 Name
은 인수 이름이고 Value
는 대응값입니다. 이름-값 인수는 다른 인수 뒤에 와야 하지만, 인수 쌍의 순서는 상관없습니다.
예: G = groupsummary(T,groupvars,groupbins,IncludedEdge="right")
R2021a 이전 릴리스에서는 쉼표를 사용하여 각 이름과 값을 구분하고 Name
을 따옴표로 묶으십시오.
예: G = groupsummary(T,groupvars,groupbins,"IncludedEdge","right")
IncludedEdge
— 포함된 Bin 경계
"left"
(디폴트 값) | "right"
포함된 Bin 경계값으로, "left"
또는 "right"
로 지정되며, Bin 구간의 어느 끝을 포함하는지 나타냅니다.
이 이름-값 인수는 groupbins
가 지정된 경우에만 지정할 수 있으며, 값은 모든 그룹화 변수 또는 벡터의 모든 비닝 방식에 적용됩니다.
IncludeMissingGroups
— 누락된 그룹 표시자
true
또는 1
(디폴트 값) | false
또는 0
누락된 그룹 표시자로, 숫자형 또는 논리값 1
(true
) 또는 0
(false
)로 지정됩니다. IncludeMissingGroups
값이 true
인 경우, groupsummary
는 누락값으로 구성된 그룹을 표시합니다(예: NaN
). IncludeMissingGroups
값이 false
인 경우, groupcounts
는 누락값 그룹을 표시하지 않습니다.
IncludeEmptyGroups
— 빈 그룹 표시자
false
또는 0
(디폴트 값) | true
또는 1
빈 그룹 표시자로, 숫자형 또는 논리값 1
(true
) 또는 0
(false
)로 지정됩니다. IncludeEmptyGroups
값이 false
인 경우, groupsummary
는 요소를 포함하지 않는 그룹을 표시하지 않습니다. IncludeEmptyGroups
값이 true
인 경우, groupsummary
는 빈 그룹을 표시합니다.
출력 인수
G
— 출력 테이블
테이블
table형 또는 timetable형 입력 데이터에 대한 출력 테이블로, 테이블로 반환됩니다. G
에는 계산된 그룹, 각 그룹의 요소 개수가 포함되고, method
가 제공된 경우 지정된 계산 결과가 포함됩니다.
B
— 출력 배열
벡터 | 행렬
배열 입력 데이터에 대한 출력 배열로, 벡터 또는 행렬로 반환됩니다. B
에는 각 그룹에 대해 지정된 계산이 포함됩니다. 여러 방법을 지정하는 경우 groupsummary
는 나열된 순서대로 계산 결과를 가로로 결합합니다.
BG
— 그룹
열 벡터 | 열 벡터로 구성된 셀형 배열
배열 입력 데이터에 대한 그룹으로, 열 벡터로 반환되거나 열 벡터로 구성된 셀형 배열로 반환됩니다. 단일 그룹화 벡터의 경우 출력 그룹은 "sorted"
옵션과 함께 unique
함수로 반환되는 순서에 따라 정렬됩니다.
둘 이상의 입력 벡터의 경우 BG
는 동일한 길이의 열 벡터를 포함하는 셀형 배열입니다. 각 그룹에 대한 정보는 BG
의 모든 벡터에 걸쳐 있는 행의 요소에 포함되어 있습니다. 각 그룹은 출력 배열 B
의 대응하는 행으로 매핑됩니다.
BC
— 그룹 도수
열 벡터
배열 입력 데이터의 그룹 도수로, 열 벡터로 반환됩니다. BC
에는 각 그룹의 요소 개수가 포함되어 있습니다. BC
의 길이는 BG
로 반환된 그룹 열 벡터의 길이와 같습니다.
팁
groupsummary
를 여러 번 호출하는 경우에는 성능 향상을 위해 그룹화 변수를categorical
유형이나logical
유형으로 변환하는 것이 좋습니다. 예를 들어, string형 배열 그룹화 변수가 있는 경우(예: 요소"Poor"
,"Fair"
,"Good"
,"Excellent"
가 포함된HealthStatus
), 명령categorical(HealthStatus)
를 사용하여 categorical형 변수로 변환할 수 있습니다.
확장 기능
tall형 배열
메모리에 담을 수 없을 정도로 많은 행을 가진 배열을 계산할 수 있습니다.
사용법 관련 참고 및 제한 사항:
A
와groupvars
가 모두 tall형 행렬이면 이 둘은 행 개수가 같아야 합니다.첫 번째 입력값이 tall형 행렬이면
groupvars
는 tall형 그룹화 벡터를 포함하는 셀형 배열일 수 있습니다.groupvars
및datavars
인수는 함수 핸들을 지원하지 않습니다.IncludeEmptyGroups
이름-값 인수는 지원되지 않습니다."median"
메서드와"mode"
메서드는 지원되지 않습니다.tall datetime형 배열에는
"std"
메서드가 지원되지 않습니다.method
인수가 함수 핸들인 경우 이 인수는 tall형 배열에 대해 동작하는splitapply
에 유효한 입력값이어야 합니다. 함수 핸들이 여러 개의 입력값을 받는 경우groupsummary
에 대한 첫 번째 입력값은 tall형 테이블이어야 합니다.그룹의 순서는 메모리 내
groupsummary
계산에 사용된 순서와 다를 수 있습니다.이산화된 datetime형 배열을 기준으로 그룹화할 경우 categorical형 그룹 이름은 메모리 내
groupsummary
계산에 사용된 그룹 이름과 다릅니다.
자세한 내용은 tall형 배열 항목을 참조하십시오.
C/C++ 코드 생성
MATLAB® Coder™를 사용하여 C 코드나 C++ 코드를 생성할 수 있습니다.
사용법 관련 참고 및 제한 사항:
희소 형식 입력값은 지원되지 않습니다.
datetime형 데이터나 duration형 데이터에는 비닝 방식이 지원되지 않습니다.
가변 크기 내용이 포함된 이종 셀형 배열에 해당하는 입력 데이터는 지원되지 않습니다.
다차원 배열이 포함된 입력 테이블은 지원되지 않습니다.
문자형 벡터로 구성된 셀형 배열 또는 셀형 배열로 구성된 셀형 배열이 포함된 입력 데이터는 지원되지 않습니다.
계산 방법은 상수여야 합니다.
첫 번째 입력 인수가 테이블인 경우 그룹화 변수는 상수여야 합니다.
데이터 변수는 상수여야 합니다.
문자형 벡터 또는 string형으로 지정된 비닝 방식은 상수여야 합니다.
이름-값 인수는 상수여야 합니다.
계산 방법은 희소 행렬 또는 다차원 결과를 반환할 수 없습니다.
그룹 변수의 수가 런타임에 변경될 수 있는 경우 두 번째 출력
BG
는 셀형 배열입니다.
스레드 기반 환경
MATLAB®의 backgroundPool
을 사용해 백그라운드에서 코드를 실행하거나 Parallel Computing Toolbox™의 ThreadPool
을 사용해 코드 실행 속도를 높일 수 있습니다.
이 함수는 스레드 기반 환경을 완전히 지원합니다. 자세한 내용은 스레드 기반 환경에서 MATLAB 함수 실행하기 항목을 참조하십시오.
버전 내역
R2018a에 개발됨R2022b: 문자형 배열은 표준 누락값을 갖지 않음
문자형 배열은 표준 누락값에 대한 디폴트 정의를 갖지 않습니다. 따라서 nummissing
메서드는 빈 문자형 배열 요소(' '
)를 누락되지 않은 것으로 처리합니다.
R2022a: 코드 생성 지원
groupsummary
함수에 대해 C 또는 C++ 코드를 생성합니다. 사용법 관련 참고 및 제한 사항에 관해서는 C/C++ 코드 생성을 참고합니다.
R2022a: 그룹 크기가 작은 경우의 성능이 향상됨
groupsummary
함수는 특히 각 그룹의 데이터 개수가 작을 때 향상된 성능을 보입니다.
예를 들어 다음 코드는 500개 그룹을 가진 행렬에서 그룹 요약 계산을 각각 10번씩 수행합니다. 이 코드는 이전 릴리스보다 약 2.70배 빠릅니다.
function timingGroupsummary data = (1:5000)'; groups = repelem(1:length(data)/10,10)'; p = randperm(length(data)); data = data(p); groups = groups(p); tic for k = 1:300 G = groupsummary(data,groups,"mean"); end toc end
대략적인 실행 시간은 다음과 같습니다.
R2021b: 2.65초
R2022a: 0.98초
코드 실행 시간은 Windows® 10, Intel® Xeon® CPU E5-1650 v4 @ 3.60GHz 테스트 시스템에서 timingGroupsummary
함수를 호출하여 측정했습니다.
R2022a: 표준 누락값이 없는 데이터형 허용
"nummissing"
메서드와 "nnz"
메서드는 이제 입력 데이터형에 표준 누락값의 디폴트 정의가 없는 경우 오류를 반환하지 않습니다.
try
/catch
블록 내의 코드와 같이 해당 입력값에 대해 MATLAB이 발생시키는 오류와 관련된 코드는 더 이상 이러한 오류를 포착하지 않을 수 있습니다.
MATLAB 명령
다음 MATLAB 명령에 해당하는 링크를 클릭했습니다.
명령을 실행하려면 MATLAB 명령 창에 입력하십시오. 웹 브라우저는 MATLAB 명령을 지원하지 않습니다.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)