主要内容

groupsummary

小组总结计算

描述

例子

G= groupsummary (Tgroupvars返回一个表,其中包含计算组以及表或时间表中每个组中的数据的元素数量T.组包含中分组变量的唯一组合groupvars.例如,G = groupsummary (T '性别')返回男性元素的个数变量中的元素性别

例子

G= groupsummary (Tgroupvars方法中指定的计算也返回方法.例如,g =组ummary(t,'性别','中位')返回所有非组间变量的中位数T对于两性来说,除了每一组元素的数量。

例子

G= groupsummary (Tgroupvars方法datavars指定要应用计算的变量。

G= groupsummary (Tgroupvarsgroupbins指定如何将数据装入groupvars.例如,G = groupsummary (T,‘SaleDate’,‘年’)给集团计数的所有销售T根据分组变量,在每一年之内发售日期

G= groupsummary (Tgroupvarsgroupbins方法将数据按照groupbins对于指定的计算方法

例子

G= groupsummary (Tgroupvarsgroupbins方法datavars将数据按照groupbins并指定要应用计算的变量。

例子

G= groupsummary (___名称,值为任何前面的语法使用一个或多个名称-值对指定附加分组属性。例如,G = groupsummary (T,‘Category1’,‘IncludeMissingGroups’,假)不包括由失踪所作的小组分类数据显示,<定义>

B= groupsummary (一个groupvars方法根据将向量分组的唯一组合返回计算groupvars什么时候一个是一个向量或者矩阵。groupvars可以是列向量、矩阵或列向量的单元格数组。

例子

B= groupsummary (一个groupvarsgroupbins方法将数据按照groupbins

例子

B= groupsummary (___名称,值使用一个或多个名称-值对为前面的数组语法指定其他分组属性。

BBG) = groupsummary (一个___还返回每个分组向量的组。

例子

BBG公元前) = groupsummary (一个___还返回每个组的组计数。

例子

全部折叠

计算表变量的汇总统计信息。

创建一个表T它包含了五个人的信息。

性别= [“男性”“女性”“女性”“男性”“男性”];年龄=[38,43岁,38;40;49);身高= [71;69;64;67;64);重量= [176;163;131;133;119);T =表(性别、年龄、身高、体重)
T =5×4表性别年龄身高体重________ ___ ______ ______“男”38 71 176“女”43 69 163“女”38 64 131“男”40 67 133“男”49 64 119

通过指定计算男性和女性的计数性别作为分组变量。

G = groupsummary (T),“性别”
G =2×2表性别GroupCount  ________ __________ " 女“2”男”3

分别计算女性和男性的平均年龄、身高和体重。

G = groupsummary (T),“性别”“的意思是”
G =2×5表性别GroupCount mean_Age mean_Height mean_Weight  ________ __________ ________ ___________ ___________ " 女性男性“40.5 - 66.5 147 3 42.333 67.333 142.67

仍然按性别分组,只计算身高中位数。

G = groupsummary (T),“性别”“中值”“高度”
G =2×3表性别GroupCount median_Height  ________ __________ _____________ " 女“2 66.5”男“3 67

使用两个分组变量对表数据进行分组。

创建一个表T它包含了五个人的信息。

性别= [“男性”“女性”“男性”“女性”“男性”];吸烟者=逻辑([1,0,1,0,1]);重量= [176;163;131;133;119);T =表(性别、吸烟、体重)
T =5×3表性别吸烟者体重________ ______ ______“男”真176“女”假163“男”真131“女”假133“男”真119

按性别和吸烟状况分组,计算平均体重。默认情况下,输出中不表示性别和吸烟状态的两个组合,因为它们是空组。

G = groupsummary (T) {'性别'“吸烟者”},“的意思是”“重量”
G =2×4表性别吸烟者Groupcount _重量________ ______ __________ ___________“女性”假2 148“男性”真实3 142

设定“IncludeEmptyGroups”参数值真正的以便查看所有组的组合,包括空组。

G = groupsummary (T) {'性别'“吸烟者”},“的意思是”“重量”“IncludeEmptyGroups”,真正的)
G =4×4表性别吸烟者GroupCount mean_Weight ________ ______ __________ ___________“女”假2 148“女”真0 NaN“男”假0 NaN“男”真3 142

根据指定的bins对数据进行分组。

在一个月内创建包含销售信息的时间表。

timestamp = 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]';TotalItemsSold = [14 13 8 5 10 16 8 6 7 11]';TT =时间表(时间戳,利润,TotalItemsSold)
TT =10×2时间表时间戳利润TotalItemsSold ___________ ______ ______________ 04- march -2017 2032 14 02- march -2017 3071 13 15- march -2017 1185 8 10- march -2017 2587 5 14- march -2017 1998 10 31- march -2017 2899 16 25- march -2017 3112 8 29- march -2017 909 6 21- march -2017 2619 7 18- march -2017 3085 11

计算按售出的总商品分组的平均利润,将分组分成商品编号的间隔。

格式shorteg = comononumarary(tt,“TotalItemsSold”,[0 4 8 12 16],“的意思是”“利润”
G =3×3表disc_TotalItemsSold GroupCount mean_Profit  ___________________ __________ ___________ [ 4、8)3.0000 2.0383 e + e + 00 03[8、12)4.0000 e + 00 2.3450 e + 03(12、16)3.0000 e + 00 2.6673 e + 03

计算一周中每一天的平均利润。

g = comononumarary(tt,“时间戳”“dayname”“的意思是”“利润”
G =5×3表dayname_TimeStamps GroupCount mean_Profit __________________ __________ ___________周二2.0000e+00 2.3085e+03周三2.0000e+00 1.0470e+03周四1.0000e+00 3.0710e+03周五2.0000e+00 2.7430e+03周六3.0000e+00 2.7430e+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.3085E + 03 1.0470E + 03 3.0710E + 03 2.7430E + 03 2.7430E + 03
dayOfWeek =5 x1分类星期二星期三星期四星期五星期六
dailyCounts =5×12 2 1 2 3

根据他们的性别和吸烟状况计算四组的平均权重。

将患者信息存储为三个不同类型的向量。

性别= [“男性”“女性”“男性”“女性”“男性”];吸烟者=逻辑([1,0,1,0,1]);重量= [176;163;131;133;119);

通过性别和吸烟者进行分组,计算平均重量。B包含每组的平均值(空的组)。BG是一个单元格数组,其中包含两个向量,在逐行查看组的元素时描述组。例如,的第一行BG {1}说第一组病人是女性,而第一排BG {2}说他们不吸烟。最后,公元前中对应组的每个组的成员数BG

[B, BG,公元前]= groupsummary(重量,{性别、吸烟},“的意思是”“IncludeEmptyGroups”,真正的);B
B =4×1148南纳142
BG {1}
ans =4 x1字符串"female" "female" "male" "male"
BG {2}
ans =4x1逻辑阵列0 1 0 1
公元前
公元前=4×12 0 0 3

加载包含患者信息的数据,并创建一个表,描述每个患者的性别、收缩压和舒张压、身高和体重。

负载病人T =表(性别、收缩压、舒张压、身高、体重)
T =100×5表性别收缩压舒张压高的重量  __________ ________ _________ ______ ______ {' 男性}124 93 71 176{‘男性’}163{‘女性’}125 109 77 69 83 64 131{‘女性’}133{‘女性’}122 117 75 67 80 64 119{‘女性’}142{‘女性’}130 121 70 68 88 64 142{‘男性’}180{‘男性’}115 115 82 68 78 68 183{‘女性’}118 86 66 132{‘女性’}114 77 68128 {'Female'} 115 68 66 137 {'Male' } 127 74 71 174 {'Male' } 130 95 72 202 {'Female'} 114 79 65 129 {'Male' } 130 92 71 181 ⋮

按性别分组,计算患者身高与体重、收缩压与舒张压的相关性。使用xcov作为计算相关性的方法。的前两个输入参数xcov描述要关联的数据,第三个参数描述滞后大小,第四个参数描述规范化的类型。对于每组计算,xy参数传递给xcov由来自两个小区元素的变量成对指定[“高度”,“收缩”](“重量”、“舒张期”)

G = groupsummary (T),“性别”,@(x,y)xcov(x,y,0,多项式系数的), {[“高度”“收缩”],[“重量”“舒张期”]})
G =2×4表性别GroupCount fun1_Height_Weight fun1_Systolic_Diastolic  __________ __________ __________________ _______________________ {' 女性的53 0.071278 - 0.48731{‘男性’}}47 0.047571 - 0.50254

或者,如果数据是向量或矩阵形式而不是表形式,则可以提供要关联的数据作为的第一个输入参数groupsummary

[g,gr,gc] =组ummary({[高度,收缩镜],[重量,舒张]},性别,@(x,y)xcov(x,y,0,多项式系数的))
G =2×20.0713 0.4873 0.0476 0.5025
GR =2 x1细胞{'女'}{‘男性’}
GC =2×153个47

输入参数

全部折叠

输入数据,指定为表或时间表。

输入数组,指定为向量或矩阵的向量、矩阵或单元格数组。

指定的函数句柄时方法它需要多个输入参数,即输入数据一个必须是由向量或矩阵组成的单元格数组。在按组调用函数时,输入参数是单元格数组中每个元素的相应列。例如:

  • 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可以是行数相同的列向量一个或排列在矩阵或单元格数组中的一组列向量。

  • 对于表格或时间表的输入,groupvars表示用于计算数据中的组的哪些变量。您可以使用此表中的任何选项指定分组变量。

    选项 描述 例子
    标量变量名称

    指定单表变量名称的字符向量或标量字符串。

    “Var1”

    “Var1”

    变量名向量

    字符向量或字符串阵列的单元格数组,其中每个元素是表变量名称。

    {'var1''var2'}

    [“var1”“var2”]

    标量或可变指数的矢量

    表变量索引的标量或向量。

    1

    [1 3 5]

    逻辑标量或向量

    逻辑向量,其每个元素对应一个表变量,其中真正的包含相应的变量和不包括它。

    (真的假的真的)

    功能手柄

    接受表变量作为输入并返回逻辑标量的函数句柄。

    @Isnumeric.

    vartype下标

    由此生成的表格下标vartype函数。

    vartype(数字)

例子:Gransummary(t,“var3”)

计算方法,指定为以下之一:

  • “和”——总和

  • “的意思是”- 意思

  • “中值”——中值

  • “模式”——模式

  • “var”——方差

  • “性病”——标准偏差

  • 'min'- 最低限度

  • “马克斯”——最大

  • “范围”-最大值-最小值

  • “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而不是“和”

数据类型:char|细绳|细胞|function_handle

表变量要操作,指定为此表中的选项之一。datavars指示将方法应用于输入表或时间表的哪个变量。未指定的其他变量datavars不操作,也不通过输出。当datavars没有指定,groupsummary对每个非分组变量进行操作。

选项 描述 例子
变量名

指定单个表变量名的字符向量或标量字符串

“Var1”

“Var1”

变量名向量

字符向量或字符串数组的单元格数组,其中每个元素是表变量名

{'var1''var2'}

[“var1”“var2”]

标量或可变指数的矢量

表变量索引的标量或向量

1

[1 3 5]

逻辑向量

逻辑向量,其每个元素对应一个表变量,其中真正的包含相应的变量和不包括它

(真的假的真的)

功能手柄

接受表变量作为输入并返回逻辑标量的函数句柄

@Isnumeric.

vartype下标

由此生成的表格下标vartype函数

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”])

bining方案,指定为以下选项之一:

  • “没有”,表示没有装箱

  • 容器边的列表,指定为数字向量或datetime向量为datetime将变量或向量分组

  • 指定为整数标量的一组容器

  • 指定为类型标量的时间持续时间持续时间日历表示仓宽(用于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” Bins是完整的日名,例如“星期天” datetime只有
    'DayofMonth' 垃圾桶是1到31天。 datetime只有
    “dayofyear” 垃圾箱是从1到366的日子。 datetime只有
    “weekofmonth” 垃圾箱从1到6周。 datetime只有
    “weekofyear” 垃圾箱从1到54个星期。 datetime只有
    “monthname” bin是完整的月份名称,例如“1月” datetime只有
    “monthofyear”

    垃圾箱是1到12个月。

    datetime只有
    'seturanfyear' 垃圾桶是1到4的四分之一。 datetime只有

  • 列出每个分组变量或向量的分类规则的单元格数组

当指定多个分组变量时,您可以提供应用于所有分组变量的单一分组规则,或者为每个分组变量提供包含分组方法的单元格数组,例如{'none',[0 2 4 inf]}

名称-值对的观点

指定可选的逗号分隔的对名称,值论点。的名字参数名和价值为对应值。的名字必须出现在引号内。可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家

例子:G = groupsummary (T groupvars groupbins,‘IncludedEdge’,‘正确的’)

包括仓边,指定为“左”“对”,指示bin间隔的哪个端点是包含的。

此名称-值对只能在groupbins指定了,该值应用于所有分组变量或向量的所有分档方案。

缺失组指示符,指定为真正的.当参数值为时真正的groupsummary显示由缺失值组成的组,例如.当参数值为时groupsummary不显示丢失的组。

数据类型:逻辑

空组指示符,指定为真正的.当参数值为时groupsummary不显示元素为零的组。当参数值为时真正的groupsummary显示空组。

数据类型:逻辑

输出参数

全部折叠

输出表,作为包含每个组指定计算的表返回。

输出数组,作为包含组计算的向量或矩阵返回。当你指定多个方法时,groupsummary水平连接到所列出的顺序计算计算。

数组输入数据的组,作为列向量或列向量的单元格数组返回,每个列向量对应于分组向量。

当您提供多个分组向量时,BG是包含相等长度的柱矢量的单元阵列。可以通过在所有向量中查看划线划线的元素来找到组信息BG.每个组映射到输出数组的相应行B

数组输入数据的组计数,作为包含每个组中元素数量的列向量返回。的长度公元前是否等于返回的组列向量的长度BG

提示

  • 当打许多电话时groupsummary,考虑将分组变量转换为类型分类逻辑什么时候可以提高性能。例如,如果您有类型的分组变量char(如性别与元素“男”“女”),您可以使用命令将其转换为分类值分类(性别)

扩展能力

介绍了R2018a