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) 指定在分组前根据分 bin 方案 groupbinsgroupvars 中的行进行分 bin。例如,G = groupsummary(T,"SaleDate","year") 根据分组变量 SaleDate 返回每年 T 中所有销售的组计数。

示例

G = groupsummary(T,groupvars,groupbins,method) 指定在分组和应用 method 中指定的按组计算之前如何对 groupvars 中的数据进行分 bin。

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) 指定在分组前根据分 bin 方案 groupbinsgroupvars 中的行进行分 bin。

示例

B = groupsummary(___,Name,Value) 使用一个或多个名称-值参量为上述任一输入数组语法指定其他分组属性。

示例

[B,BG,BC] = groupsummary(A,___) 返回其他组信息。BG 是与 B 中的行相对应的唯一分组向量组合。BCBG 中每组的成员数。

示例

全部折叠

计算表变量的摘要统计量。

创建一个包含八个人信息的表 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     

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

创建一个包含八个人信息的表 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    

将售出商品数量按数量区间分 bin,计算每个分 bin 的商品利润均值和众数。

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

按健康状况和是否吸烟将一群人分组,计算每组人员的均值体重。

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

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 是包含两个向量的元胞数组,按行查看向量中的元素即可找到对应组的描述。例如,BG{1} 的第一行表示第一组患者的健康状况为 ExcellentBG{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 中的 xy 参量由 ["Height","Systolic"]["Weight","Diastolic"] 这两个元胞元素中的变量成对指定。

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

输入参数

全部折叠

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

输入数组,指定为列向量、存储为矩阵的列向量组,或由列向量、字符行向量或矩阵组成的元胞数组。

当您为接受多个输入参量的 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 可以是一个行数与 A 相同的列向量,也可以是一组以矩阵或元胞数组形式排列的列向量。

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

    索引方案示例

    变量名称:

    • 字符串、字符向量或元胞数组

    • pattern 对象

    • "A"'A' - 名为 A 的变量

    • ["A","B"]{'A','B'} - 两个名为 AB 的变量

    • "Var"+digitsPattern(1) - 变量名为 "Var" 后跟一个数字

    变量索引:

    • 引用变量在表中位置的索引编号

    • 由数字组成的向量

    • 逻辑向量。通常,此向量的长度与变量的数目相同,但可以省略尾部的 0false

    • 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"

非零和非 NaN 元素的数量

"all"上面列出的所有计算

您也可以将 method 指定为函数句柄,该句柄为每个第一个维度长度为 1 的组返回一个输出。对于表输入数据,该函数单独对每个表变量进行操作。

当输入数据是表 T 并且您为接受多个输入参量的 method 函数指定了函数句柄时,您必须指定 datavarsdatavars 参量必须为元胞数组,其元素指示用于方法的每个输入的表变量。每次按组调用该函数时,输入参量是元胞数组元素的对应表变量。例如:

  • 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 对每个非分组变量进行操作。

索引方案示例

变量名称:

  • 字符串、字符向量或元胞数组

  • pattern 对象

  • "A"'A' - 名为 A 的变量

  • ["A","B"]{'A','B'} - 两个名为 AB 的变量

  • "Var"+digitsPattern(1) - 变量名为 "Var" 后跟一个数字

变量索引:

  • 引用变量在表中位置的索引编号

  • 由数字组成的向量

  • 逻辑向量。通常,此向量的长度与变量的数目相同,但可以省略尾部的 0false

  • 3 - 表中的第三个变量

  • [2 3] - 表中的第二个和第三个变量

  • [false false true] - 第三个变量

函数句柄:

  • 函数句柄,以表变量作为输入并返回逻辑标量

  • @isnumeric - 所有包含数值的变量

变量类型:

  • vartype 下标,用于选择指定类型的变量

  • vartype("numeric") - 所有包含数值的变量

当输入数据是表 T 并且您为接受多个输入参量的 method 函数指定了函数句柄时,您必须指定 datavarsdatavars 参量必须为元胞数组,其元素是表中的任一选项。元胞数组元素指示用于方法的每个输入的表变量。每次按组调用该函数时,输入参量是元胞数组元素的对应表变量。例如:

  • 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"])

分组变量或向量的分 bin 方案,指定为以下一种或多种分 bin 方法。要对所有分组变量或向量应用相同的分 bin 方法,请指定一种分 bin 方法。要对每个分组变量或向量应用不同的分 bin 方法,请指定一个由分 bin 方法组成的元胞数组,其中每个元胞包含对应分组变量或向量的分 bin 方法。

  • "none" - 无分 bin。

  • 由 bin 边界组成的向量 - bin 边界定义 bin。对于 datetime 分组变量或向量,可以将边界指定为数值或 datetime 值。

  • bin 数目 - 该数目确定要创建多少个等间距 bin。可以将 bin 数目指定为正整数标量。

  • 时间长度(bin 宽度)- 时间长度确定每个 bin 的宽度。对于 datetimeduration 分组变量或向量,可以将 bin 宽度指定为 durationcalendarDuration 标量。

  • 时间单位的名称(bin 宽度)- 时间单位的名称确定每个 bin 的宽度。对于 datetimeduration 分组变量或向量,可以将 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 是 1 个十年(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 方案中包括 bin 边界,指定为 "left""right",指示包括 bin 区间的哪一边。

仅当指定了 groupbins 时,才能指定 IncludedEdge,并且该值适用于所有分组变量或向量的所有分 bin 方法。

指定是否将缺失值视为组的选项,指定为数值或逻辑值 1 (true) 或 0 (false)。如果 IncludeMissingGroupstrue,则 groupsummary 会将分组变量或向量中的缺失值(如 NaN)视为一个组。如果分组变量或向量没有缺失值,或如果 IncludeMissingGroupsfalse,则 groupsummary 不会将缺失值视为一个组。

在组汇总操作中包括空组的选项,指定为数值或逻辑值 0 (false) 或 1 (true)。如果 IncludeEmptyGroupsfalse,则 groupsummary 忽略空组。如果 IncludeEmptyGroupstrue,则 groupsummary 包括空组。

在以下情况下会出现空组:

  • 分组变量或向量的可能值未在输入数据(例如在分类、逻辑或分 bin 数值变量或向量)中表示。例如,如果输入表中任一行的逻辑分组变量的值都不为 true,则 true 定义的是一个空组。

  • 分组变量或向量的唯一组合未在输入数据中表示。例如,如果输入表中任一行的分组变量 A 的值都不为 A1 且分组变量 B 的值都不为 B1,则 A1_B1 定义的是一个空组。

输出参量

全部折叠

表或时间表输入数据的输出表,以表形式返回。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 时,请考虑尽可能将分组变量转换为 categoricallogical 类型以提高性能。例如,如果您有字符串数组分组变量(例如 HealthStatus,其中元素为 "Poor""Fair""Good""Excellent"),您可以使用命令 categorical(HealthStatus) 将其转换为分类变量。

  • groupsummary 函数计算一维摘要统计量。要计算二维分组汇总,请考虑使用 pivot 函数。

扩展功能

版本历史记录

在 R2018a 中推出

全部展开