groupsummary
小组总结计算
语法
描述
表数据
数组的数据
例子
摘要统计信息
计算统计总表变量。
创建一个表T
包含八个人的信息。
HealthStatus =分类([“穷”;“好”;“公平”;“公平”;“穷”;“优秀”;“好”;“优秀”]);年龄= [38;43;38岁;40;49个;51;52个;35);身高= [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表_______ ___ HealthStatus年龄身高体重出生贫穷的38 71 38 176架好43 68 153 64 131 40 67 133名贫困49 64 119优秀51 62 120 52 65 140优秀35 55 129好
计算项健康状况组通过指定HealthStatus
作为分组变量。
G = groupsummary (T),“HealthStatus”)
G =4×2表HealthStatus GroupCount _______ __________优秀2公平好可怜的2
计算出平均年龄、身高和体重的健康状况。
G = groupsummary (T),“HealthStatus”,“的意思是”)
G =4×5表HealthStatus GroupCount mean_Age mean_Height mean_Weight _______ __________ ________ ___________ ___________优秀2 43 58.5 65.5 124.5公平2 39 132好2 43.5 67.5 147.5 47.5 66.5 146.5差2
健康状况仍然分组,计算只有中等高度。
G = groupsummary (T),“HealthStatus”,“中值”,“高度”)
G =4×3表HealthStatus GroupCount median_Height _______ __________ _________________优秀2 58.5公平2 65.5好2 66.5差2 67.5
多个分组变量
使用两组表数据分组变量。
创建一个表T
包含八个人的信息。
HealthStatus =分类([“穷”;“好”;“公平”;“公平”;“穷”;“优秀”;“好”;“优秀”]);吸烟者=逻辑([1;0;0;1;1;0;0;1);重量= [176; 153; 131; 133; 119; 120; 140; 129]; T = table(HealthStatus,Smoker,Weight)
T =8×3表HealthStatus吸烟者的体重_______出生贫穷的真正的176架好假153公平假131名真133穷人真119优秀的假120好假140优秀的真正的129
计算平均重量,按健康状况分组和吸烟状况。默认情况下,一些组合健康状态和吸烟状态并不代表输出,因为他们是空的。
G = groupsummary (T), (“HealthStatus”,“抽烟”),“的意思是”,“重量”)
G =6×4表HealthStatus吸烟者GroupCount mean_Weight _______ ______ __________ ___________优秀假129 120优秀的真正公平的假133 131公平真的好假2 146.5可怜真2 147.5
设定的值IncludeEmptyGroups
来真正的
看到所有组的组合,包括空的。
G = groupsummary (T), (“HealthStatus”,“抽烟”),“的意思是”,“重量”,“IncludeEmptyGroups”,真正的)
G =8×4表HealthStatus吸烟者GroupCount mean_Weight _______ ______ __________ ___________优秀假129 120优秀的真正公平的假1 131公平真133好假2 146.5好真南穷假0南穷人真2 147.5
指定组垃圾箱
组数据根据指定的垃圾箱。
创建一个时间表,其中包含销售信息好几天在一个月之内。
时间戳= 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]);利润= (2032 3071 1185 2587 1998 2899 3112 909 2619 3085]';ItemsSold = [14 13 8 5 10 16 8 6 7 11) ';TT =时间表(时间戳,利润,ItemsSold)
TT =10×2时间表时间戳利润ItemsSold ___________ ______ _____ 04 - 3月- 2017年3月14日02 - 2032 - 2017 3071 1185 8 10 - 15 - 3月- 2017年3月14日- 3月- 2017 - 2017 2587 1998 2899 16 25 - 31 - 3月- 2017年3月- 2017 3112 8 29 - 3月21 - 3月- 2017 - 2017 909 2619 3085 18 - 3月- 2017年11
计算均值和利润的模式被出售的物品,面元组间隔的项目数字。
格式shorteG = groupsummary (TT,“ItemsSold”[0 4 8 12 16],{“的意思是”,“模式”},“利润”)
G =3×4表__________ disc_ItemsSold GroupCount mean_Profit mode_Profit * * *…………[4、8) 3.0000 e + 00 2.0383 e + 03 9.0900 e + 02 [8、12) 4.0000 e + 00 2.3450 e + 03 1.1850 e + 03 (12、16) 3.0000 e + 00 2.6673 e + 03 2.0320 e + 03
计算平均利润按星期分组。
G = groupsummary (TT,“时间戳”,“dayname”,“的意思是”,“利润”)
G =5×3表dayname_TimeStamps GroupCount mean_Profit _____________ __________ ___________周二2.0000 e + 00 2.3085 e + 03周三周四2.0000 e + 00 1.0470 e + 03 1.0000 e + 00 3.0710 e + 03周五2.0000 e + 00 2.7430 e + 03周六3.0000 e + 00 2.7430 e + 03
集团与矢量数据操作
创建日期和一个向量的向量对应的利润值。
时间戳= 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]);利润= (2032 3071 1185 2587 1998 2899 3112 909 2619 3085]';
计算每天的平均利润。显示的意思,组名,每组的成员数量。
格式shorte[meanDailyProfit, dayOfWeek dailyCounts] = groupsummary(利润,时间戳,“dayname”,“的意思是”)
meanDailyProfit =5×12.3085 e + 03 1.0470 e + 03 3.0710 e + 03 2.7430 e + 03 2.7430 e + 03
dayOfWeek =5 x1分类星期二星期三星期四星期五星期六
dailyCounts =5×12 2 1 2 3
多个分组输入向量的向量
计算的平均重量为一组人按他们的健康状况和吸烟状况分组。
存储的个人信息作为不同类型的三个向量。
HealthStatus =分类([“穷”;“好”;“公平”;“公平”;“穷”;“优秀”;“好”;“优秀”]);吸烟者=逻辑([1;0;0;1;1;0;0;1);重量= [176; 153; 131; 133; 119; 120; 140; 129];
分组的健康状况和吸烟状况,计算平均重量。
B
每组包含的意思是(南
空的组)。BG
是一种含有两个向量描述单元阵列组一点你看它们的元素行操作。例如,第一行BG {1}
表明第一组患者的健康状况优秀的
的第一行BG {2}
表明他们是不吸烟者。最后,公元前
包含成员的数量在每组对应的组织BG
。
[B, BG,公元前]= groupsummary(重量,{HealthStatus,吸烟者},“的意思是”,“IncludeEmptyGroups”,真正的);B
B =8×1147.5000 120.0000 129.0000 131.0000 133.0000 146.5000南南
BG {1}
ans =8 x1分类优秀出色的公平公正好好可怜的穷人
BG {2}
ans =8 x1逻辑阵列0 1 0 1 0 1 0 1
公元前
公元前=8×11 1 1 1 2 0 0 2
函数处理多个输入方法
数据加载包含患者信息和描述每个病人的位置创建一个表,收缩压和舒张压,身高和体重。
负载病人位置=分类(位置);T =表(位置、收缩压、舒张压、身高、体重)
T =100×5表位置收缩压舒张压高出生体重_________________________ ________ ____县综合医院124年93 71 176 VA医院的圣玛丽的医学中心109 77 69 163 125 117 75 67 133 83 64 131 VA医院县综合医院122圣玛丽的医学中心80 64 119 121 130 88 64 142 70 68 142 VA医院VA医院的圣玛丽的医学中心115 82 68 180 115 118 86 66 78 68 183县综合医院132所县综合医院114圣玛丽的医学中心77 68 128 115 127 74 71 174 68 66 137 VA医院VA医院的圣玛丽的医学中心130 95 72 202 114 79 65 129 130 92 71 181⋮VA医院
分组的位置,计算患者身高和体重之间的关系和收缩压和舒张压之间的关系。使用xcov
计算相关函数的方法。前两个输入参数xcov
描述数据关联,第三个参数描述了滞后大小和第四个参数描述了标准化的类型。每组计算的x
和y
参数传递给xcov
指定的变量两两两个细胞元素(“高度”、“收缩”)
和(“重量”、“舒张期”)
。
G = groupsummary (T),“位置”@ (x, y) xcov (x, y, 0,“多项式系数”),{[“高度”,“收缩”]、[“重量”,“舒张期”]})
G =3×4表位置GroupCount fun1_Height_Weight fun1_Systolic_Diastolic _________________________ __________ _____________ _______________________ 39县综合医院0.65483 - 0.44187 24 0.62047 - 0.44466 VA医学中心的圣玛丽医院37 0.78438 - 0.62256
另外,如果您的数据是在向量或矩阵形式,而不是在一个表,你可以提供相关的数据的第一个输入参数groupsummary
。
[B, BG,公元前]= groupsummary({(身高、收缩),(重量、舒张压)},位置,@ (x, y) xcov (x, y, 0,“多项式系数”))
B =3×20.6548 0.4419 0.6205 0.4447 0.7844 0.6226
BG =3 x1分类县综合医院圣玛丽VA医学中心医院
公元前=3×139 24 37
输入参数
T
- - - - - -输入表
表|时间表
输入表,指定为一个表或时间表。
一个
- - - - - -输入数组
列向量|矩阵|单元阵列
输入数组,指定为一个列向量,群列向量存储为一个矩阵,或单元阵列的列向量,字符行向量或矩阵。
当你指定一个函数处理方法
这需要多个输入参数,输入数组一个
必须是一个单元阵列的列向量,字符行向量或矩阵。在每次调用函数组,输入参数的相应列单元阵列中的每个元素。例如:
groupvars groupsummary ({(x1, y1)}, @ (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
可以是一个列向量与相同数量的行吗一个
或一组列向量排列在一个矩阵或单元阵列。对于输入的数据表或时间表,
groupvars
表示使用哪个变量计算组的数据。您可以指定的分组变量在这个表格的任何选项。选项 描述 例子 变量名 一个特征向量指定单个表或字符串标量变量名称
“Var1”
“Var1”
向量的变量名 特征向量的单元阵列或字符串数组,其中每个元素是一个表变量名
{“Var1”“Var2”}
[" Var1”“Var2”)
标量或矢量变量指标 一个标量或矢量表变量指标
1
[1 3 5]
逻辑向量 逻辑向量的每个元素对应一个表变量
真正的
包括相应的变量假
不包括它(真的假的真的)
函数处理 一个函数处理,表变量作为输入,并返回一个逻辑标量
@isnumeric
vartype
下标表生成的下标
vartype
函数vartype(数字)
例子:groupsummary (T,“Var3”)
方法
- - - - - -计算方法
“和”
|“的意思是”
|“中值”
|“模式”
|“var”
|“性病”
|“最小值”
|“马克斯”
|“范围”
|“nummissing”
|“nnz”
|“所有”
|函数处理|单元阵列
计算方法,指定这些值之一:
方法 |
描述 |
---|---|
“和” |
总和 |
“的意思是” |
的意思是 |
“中值” |
中位数 |
“模式” |
模式 |
“var” |
方差 |
“性病” |
标准偏差 |
“最小值” |
最低 |
“马克斯” |
最大 |
“范围” |
最大-最小 |
“nummissing” |
缺失的元素数量 |
“nnz” |
非零和非 |
“所有” |
列出的所有计算之前 |
你也可以指定方法
作为处理函数,它返回一个输出每组的第一个维度的长度是1。对于表输入数据,分别作用于每个表变量的函数。
当输入数据是一张桌子T
你指定一个函数处理方法
这需要多个输入参数,您必须指定datavars
。的datavars
参数必须是一个单元阵列的元素指示表为每个输入变量的使用方法。在每次调用函数组,输入参数是细胞的数组元素对应的表变量。例如:
groupsummary (T groupvars @ (x, y) myFun (x, y), {“x1”、“日元”})
计算myFun (T.x1 T.y1)
为每个组。groupsummary (T groupvars @ (x, y) myFun (x, y), {(“x1”“x2”)(“日元”“y2)})
第一次计算myFun (T.x1 T.y1)
为每个组,然后计算myFun (T.x2 T.y2)
为每个组。
当输入数据是一个向量或矩阵和您指定一个函数处理方法
这需要多个输入参数,输入数据一个
必须是一个单元阵列的向量或矩阵。在每次调用函数,输入参数的相应列单元阵列中的每个元素。例如:
groupvars groupsummary ({(x1, y1)}, @ (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)
为每个组。
指定多个计算一次,单元阵列中的选项列表,等{“的意思是”,“中等”}
或{myFun1, myFun2}
。
南
值在输入数据时自动省略使用这里描述的方法名,除了“nummissing”
。包括南
值,使用一个函数处理的方法,如@sum
而不是“和”
。
数据类型:字符
|字符串
|细胞
|function_handle
datavars
- - - - - -表变量来操作
标量|向量|单元阵列|函数处理|表vartype
下标
表变量操作,指定为这个表的选项之一。datavars
显示变量的输入表或时间表应用方法。其他变量没有规定datavars
不动手术,不通过输出。当datavars
没有指定,groupsummary
作用于每个nongrouping变量。
选项 | 描述 | 例子 |
---|---|---|
变量名 | 一个特征向量指定单个表或字符串标量变量名称 |
|
向量的变量名 | 特征向量的单元阵列或字符串数组,其中每个元素是一个表变量名 |
|
标量或矢量变量指标 | 一个标量或矢量表变量指标 |
|
逻辑向量 | 逻辑向量的每个元素对应一个表变量 |
|
函数处理 | 一个函数处理,表变量作为输入,并返回一个逻辑标量 |
|
vartype 下标 |
表生成的下标 |
|
当输入数据是一张桌子T
你指定一个函数处理方法
这需要多个输入参数,您必须指定datavars
。的datavars
参数必须是一个单元阵列的元素表中的任何选项。细胞数组元素指示表为每个输入变量的使用方法。在每次调用函数组,输入参数是细胞的数组元素对应的表变量。例如:
groupsummary (T groupvars @ (x, y) myFun (x, y), {“x1”、“日元”})
计算myFun (T.x1 T.y1)
为每个组。groupsummary (T groupvars @ (x, y) myFun (x, y), {(“x1”“x2”)(“日元”“y2)})
第一次计算myFun (T.x1 T.y1)
为每个组,然后计算myFun (T.x2 T.y2)
为每个组。
例子:groupsummary (T groupvars方法,(“Var1”“Var2”“Var4”])
groupbins
- - - - - -装箱计划
“没有”
(默认)|标量|向量|单元阵列
装箱计划,指定这些选项之一:
“没有”
,表明没有装箱本边缘的列表,指定为一个数值向量,或
datetime
向量为datetime
分组变量或向量一些垃圾箱,指定为一个正整数标量
时间,指定为一个标量类型
持续时间
或calendarDuration
表明本宽度(datetime
或持续时间
分组变量或向量)细胞阵列清单装箱方法为每个分组变量或向量
时间本
datetime
和持续时间
分组变量或向量,指定为一个字符串。价值 描述 数据类型 “第二”
每本1秒。
datetime
和持续时间
“一分钟”
每本1分钟。
datetime
和持续时间
“小时”
每箱是1小时。
datetime
和持续时间
“天”
每本1日历天。这个值占夏令时的转变。
datetime
和持续时间
“周”
每一本日历是1周。 datetime
只有“月”
每本1日历月。 datetime
只有“季”
每箱是1季度。 datetime
只有“年”
每本是1年。这个值占飞跃天。
datetime
和持续时间
“十年”
每本十年是1(10个日历年)。 datetime
只有“世纪”
每本1世纪(100日历年)。 datetime
只有“secondofminute”
箱子从0到59秒。
datetime
只有“minuteofhour”
箱子从0到59分钟。
datetime
只有“hourofday”
箱子从0到23小时。
datetime
只有“dayofweek”
箱子从1到7天。一周的第一天是星期天。
datetime
只有“dayname”
垃圾箱是一整天的名字等 “星期天”
。datetime
只有“dayofmonth”
箱子从1到31天。 datetime
只有“dayofyear”
箱子从1到366天。 datetime
只有“weekofmonth”
箱子从1到6周。 datetime
只有“weekofyear”
箱子从1 - 54周。 datetime
只有“monthname”
箱子里满是如月的名字 “1月”
。datetime
只有“monthofyear”
箱子从1到12个月。
datetime
只有“quarterofyear”
箱子从1到4季度。 datetime
只有
当多个分组变量或向量指定,您可以提供一个装箱方法应用于所有分组变量或向量,或一个细胞为每个分组变量或数组包含面元法向量等{“没有”,[0 2 4正]}
。
名称-值参数
指定可选的双参数作为Name1 = Value1,…,以=家
,在那里的名字
参数名称和吗价值
相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。
例子:G = groupsummary (T groupvars groupbins IncludedEdge =“正确的”)
R2021a之前,用逗号来分隔每一个名称和值,并附上的名字
在报价。
例子:G = groupsummary (T groupvars groupbins,“IncludedEdge”,“正确的”)
IncludedEdge
- - - - - -包括本边缘
“左”
(默认)|“正确”
包括本边缘,指定为“左”
或“正确”
,表明本间隔的包容性。
这个名称-值参数可以指定只有当groupbins
指定,所有分组变量值适用于所有装箱方案或向量。
IncludeMissingGroups
- - - - - -失踪组指标
真正的
或1
(默认)|假
或0
失踪组指标,指定为一个数字或逻辑1
(真正的
)或0
(假
)。时的值IncludeMissingGroups
是真正的
,groupsummary
显示组织的缺失值,如南
。时的值IncludeMissingGroups
是假
,groupcounts
不显示缺失值组。
IncludeEmptyGroups
- - - - - -空的组指标
假
或0
(默认)|真正的
或1
空集团指标,指定为一个数字或逻辑1
(真正的
)或0
(假
)。时的值IncludeEmptyGroups
是假
,groupsummary
不显示组与零元素。时的值IncludeEmptyGroups
是真正的
,groupsummary
显示空的组。
输出参数
G
——输出表
表
输出表输入数据表或时间表,作为一个表返回。G
包含计算组,每组的元素数量,如果方法
,指定的计算的结果。
B
——输出数组
向量|矩阵
输出数组的数组输入数据,返回向量或矩阵。B
每组包含指定的计算。当多个指定方法时,groupsummary
横向连接计算的顺序列出。
BG
——组
列向量|单元阵列的列向量
组数组输入数据,作为一个列向量或细胞返回数组的列向量。对于单一分组向量,输出组根据返回的顺序排序独特的
函数与“排序”
选择。
超过一个输入向量,BG
是一个单元阵列包含列向量的长度相等。每组的信息包含在一行中所有向量的元素BG
。每一组映射到相应的行输出的数组B
。
公元前
——组数
列向量
集团统计数组输入数据,作为一个列向量返回。公元前
每组包含的元素数量。的长度公元前
是一样的返回的列向量组的长度BG
。
提示
打很多电话的时候出现
groupsummary
,可以考虑将分组变量转换为类型分类
或逻辑
在可能的情况下提高性能。例如,如果你有一个字符串数组(如分组变量HealthStatus
与元素“穷”
,“公平”
,“好”
,“优秀”
),您可以将它转换成一个分类变量使用命令分类(HealthStatus)
。
扩展功能
高大的数组
计算和数组的行比装入内存。
使用笔记和限制:
如果
一个
和groupvars
都是高大的矩阵,然后他们必须有相同数量的行。如果第一个输入是一个高大的矩阵,那么
groupvars
可以是一个单元阵列包含高分组向量。的
groupvars
和datavars
参数不支持函数处理。万博1manbetx的
IncludeEmptyGroups
不支持名称参数。万博1manbetx的
“中值”
和“模式”
不支持方法。万博1manbetx对于高datetime数组,
“性病”
不支持方法。万博1manbetx如果
方法
参数是一个函数处理,那么它必须是一个有效的输入splitapply
操作在一个高大的数组。如果函数处理多个输入,然后第一个输入groupsummary
必须是一个高大的表。组的顺序可能不同与内存相比
groupsummary
计算。分组时离散datetime数组、分类组名称不同而内存中
groupsummary
计算。
有关更多信息,请参见高大的数组。
C / c++代码生成
生成C和c++代码使用MATLAB®编码器™。
使用笔记和限制:
不支持输入稀疏。万博1manbetx
装箱方案不支持datetime或持续时间数据万博1manbetx。
输入数据的异构单元阵列大小可变的内容不支持。万博1manbetx
不支持输入表包含多维数组。万博1manbetx
输入数据包含细胞阵列特征向量或不支持细胞阵列的细胞阵列。万博1manbetx
计算方法必须是常数。
分组变量必须是常数时,第一个输入参数是一个表。
数据变量必须是常数。
装箱计划指定为特征向量或字符串必须是常数。
名称-值参数必须是常数。
计算方法不能返回稀疏或多维的结果。
如果组变量的数量可以在运行时改变,第二个输出
BG
是一个单元阵列。
线程环境
在后台运行代码使用MATLAB®backgroundPool
与并行计算工具箱™或加速代码ThreadPool
。
这个函数完全支持线程的环境。万博1manbetx有关更多信息,请参见MATLAB函数线程环境中运行。
版本历史
介绍了R2018aR2022b:字符数组没有标准的缺失值
字符数组没有违约的定义一个标准的缺失值。因此,nummissing
方法将空白字符数组元素(' '
)作为常数。
R2022a:代码生成的支持万博1manbetx
生成的C或c++代码groupsummary
函数。使用notes和局限性,看到C / c++代码生成。
R2022a:通过小组的大小来改善性能
的groupsummary
函数显示了改进的性能,特别是当数据统计每组小。
例如,这个代码执行组汇总计算矩阵与500组数的10。代码是大约2.70倍的速度比以前的版本。
函数timingGroupsummary数据= (1:5000)';组= repelem(1:长度(数据)/ 10、10)';p = randperm(长度(数据));data =数据(p);组=组(p);抽搐为k =施用G = groupsummary(数据、组“的意思是”);结束toc结束
执行时间大约是:
R2021b:2.65秒
R2022a:0.98秒
时间在Windows的代码®10日,英特尔®至强®v4 @ 3.60 GHz CPU e5 - 1650测试系统通过调用timingGroupsummary
函数。
R2022a:接受的数据类型没有标准缺失值
的“nummissing”
和“nnz”
方法不再错误输入数据类型没有违约的定义一个标准的缺失值。
MATLAB代码依赖于错误扔的输入,例如代码内试一试
/抓
块,可能不再捕捉这些错误。
另请参阅
功能
住编辑任务
MATLAB命令
你点击一个链接对应MATLAB命令:
运行该命令通过输入MATLAB命令窗口。Web浏览器不支持MATLAB命令。万博1manbetx
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。