主要内容

findgroups

查找组并返回组号

描述

例子

G= findgroups (一个返回G,一个由分组变量创建的组号向量一个.输出参数G包含1到的整数值N,表明N不同的组N独特的价值一个.例如,如果一个{' b ', ' ', ' ', ' b '},然后findgroups返回G作为[2 1 1 2].你可以使用G将数据组从其他变量中分离出来。使用G的输入参数splitapplySplit-Apply-Combine工作流

findgroups处理空字符向量和NaT中未定义的类别值一个作为丢失的值和返回的相应元素G

例子

G= findgroups (A1,…)创建组号A1,…,一个.的findgroups函数将组定义为跨对象的值的唯一组合A1,…,一个.例如,如果A1{' a ', ' a ', ' b ', ' b '}而且A2[0 1 0 0],然后findgroups (A1, A2)返回G作为[1 2 3 3],因为组合“b”0发生两次。

例子

GID= findgroups(一个中每个组的惟一值ID.例如,如果一个{' b ', ' ', ' ', ' b '},然后findgroups返回G作为[2 1 1 2]而且ID作为{' a ', ' b '}.的参数一个而且ID是相同的数据类型,但不需要相同的大小。

例子

G, ID1、……,IDN= findgroups(A1,…,一个)还返回跨每个组的惟一值ID1、…,印度尼西亚.价值观跨越ID1、…,印度尼西亚定义组。例如,如果A1{' a ', ' a ', ' b ', ' b '}而且A2[0 1 0 0],然后findgroups (A1, A2)返回G作为[1 2 3 3],ID1而且ID2下作为{' a ', ' a ', ' b '}而且[0 10 0]

例子

G= findgroups (T返回G,由表中的变量创建的组号向量T.的findgroups函数处理中的所有变量T作为变量分组。

例子

GTID= findgroups(T同样的回报TID,一个包含每个组的唯一值的表。TID的变量中值的唯一组合T.中的变量T而且TID具有相同的名称,但表不需要具有相同的行数。

例子

全部折叠

使用分组编号将患者身高测量按性别分组。然后计算每组的平均高度。

从数据文件中加载患者身高和性别patients.mat

负载病人性别高度
名称大小字节类属性性别100x1 11412 cell高度100x1 800 double

按性别指定组findgroups

G = findgroups(性别);

比较的前五个元素性别而且G.在哪里性别包含“女”G包含1.在哪里性别包含“男”G包含2

性别(1:5)
ans =5 x1细胞{“男性”}{‘男性’}{‘女性’}{‘女性’}{‘女性’}
G (1:5)
ans =5×12 2 1 1 1

分裂高度变量分为两组高度使用G.应用的意思是函数。各组分别包含女性和男性患者的平均身高。

splitapply (@mean、身高、G)
ans =2×165.1509 - 69.2340

计算各组患者的平均血压,按性别和是否吸烟分组。

从数据文件中加载患者的血压读数、性别和吸烟数据patients.mat

负载病人收缩压舒张压性别吸烟者
名称大小字节分类属性舒张期100x1 800双性别100x1 11412细胞吸烟者100x1 100逻辑收缩期100x1 800双

使用患者的性别和吸烟信息指定分组。G包含从1到4的整数,因为从的值有四种可能的组合吸烟者而且性别

G = findgroups(吸烟者,性别);G (1:10)
ans =10×14 2 1 1 1 1 3 2 2

计算每组的平均血压。

mean收缩压= splitapply(@mean,收缩压,G);meanDiastolic = splitapply(@mean,舒张,G);mBP =[平均收缩压,平均舒张压]
mBP =4×2119.4250 79.0500 119.3462 79.8846 129.0000 89.2308 129.5714 90.3333

计算各组患者的身高中位数,并将结果显示在表格中。要定义患者组,请使用来自的额外输出参数findgroups

从数据文件中加载患者身高和性别patients.mat

负载病人性别高度
名称大小字节类属性性别100x1 11412 cell高度100x1 800 double

按性别指定组findgroups.输出参数中的值性别定义以下组findgroups在分组变量中查找。

[G,性别]= findgroups(性别);

计算中间高度。创建一个包含中间高度的表。

medianHeight = splitapply(@median,Height,G);T = table(性别,身高)
T =2×2表性别medianHeight  __________ ____________ {' 女性的65{‘男性’}69}

计算各组患者的平均血压,并将结果显示在表格中。要定义患者组,请使用来自的额外输出参数findgroups

从数据文件中加载100名患者的血压读数、性别和吸烟数据patients.mat

负载病人收缩压舒张压性别吸烟者
名称大小字节分类属性舒张期100x1 800双性别100x1 11412细胞吸烟者100x1 100逻辑收缩期100x1 800双

使用患者的性别和吸烟信息指定分组。计算每组的平均血压。输出参数之间的值性别而且吸烟者定义以下组findgroups在分组变量中查找。

[G,性别,吸烟者]= findgroups(性别,吸烟者);mean收缩压= splitapply(@mean,收缩压,G);meanDiastolic = splitapply(@mean,舒张,G);

为每组患者创建一个平均血压表。

T =表(性别,吸烟者,平均收缩压,平均舒张压)
T =4×4表性别吸烟者meanSystolic meanDiastolic  __________ ______ ____________ _____________ {' 女性的}假119.42 - 79.05{‘女性’}真129 89.231{‘男性’}假119.35 - 79.885{‘男性’}真正的129.57 - 90.333

用表格中的变量分组计算患者的平均血压。

将100名患者的性别和吸烟数据加载到一个表中。

负载病人T =表(性别,吸烟者);: T (1:5)
ans =5×2表性别吸烟  __________ ______ {' 男性的}真{‘男性’}假{‘女性’}假{‘女性’}假{‘女性’}假

指定患者组使用性别而且吸烟者变量T

G = findgroups(T);

根据数据变量计算平均血压收缩压而且舒张压

mean收缩压= splitapply(@mean,收缩压,G);meanDiastolic = splitapply(@mean,舒张,G);mBP =[平均收缩压,平均舒张压]
mBP =4×2119.4250 79.0500 129.0000 89.2308 119.3462 79.8846 129.5714 90.3333

创建一个按性别和吸烟或不吸烟的状态分组的患者平均血压表。

将患者的性别和吸烟数据加载到表格中。

负载病人T =表(性别,吸烟者);

指定患者组使用性别而且吸烟者变量T.输出表TID标识组。

[G,TID] = findgroups(T);TID
TID =4×2表性别吸烟  __________ ______ {' 女性的}假{‘女性’}真{‘男性’}假{‘男性’}真

根据数据变量计算平均血压收缩压而且舒张压.附加平均血压TID

工业贸易署。的意思是收缩压= splitapply(@mean,Systolic,G); TID.meanDiastolic = splitapply(@mean,Diastolic,G)
TID =4×4表性别吸烟者meanSystolic meanDiastolic  __________ ______ ____________ _____________ {' 女性的}假119.42 - 79.05{‘女性’}真129 89.231{‘男性’}假119.35 - 79.885{‘男性’}真正的129.57 - 90.333

输入参数

全部折叠

分组变量,指定为向量、字符向量的单元格数组或字符串数组。中唯一的值一个确定组。

如果一个是向量,那么它可以是数字类型或数据类型分类calendarDurationdatetime持续时间逻辑,或字符串

将变量分组,指定为表。findgroups将每个表变量视为单独的分组变量。变量可以是数值型的,也可以是数据型的分类calendarDurationdatetime持续时间逻辑,或字符串

输出参数

全部折叠

组数字,作为正整数向量返回。为N组在分组变量中标识,每个整数在1和之间N指定一个组。G包含其中任何分组变量包含空字符向量或NaT,或未定义的分类值。

  • 如果分组变量是向量,那么G分组变量的大小都一样。

  • 如果分组变量在一个表中,则G等于表的行数。

标识每个组的值,作为字符向量的向量或单元格数组返回。的价值ID的唯一值是一个

标识每个组的唯一值,作为表返回。的变量TID的对应变量的唯一值是否已排序T.然而,TID而且T不需要有相同的行数。

更多关于

全部折叠

Split-Apply-Combine工作流

Split-Apply-Combine工作流在数据分析中很常见。在这个工作流中,分析人员将数据分成组,对每个组应用一个函数,并结合结果。该图显示了工作流的典型示例以及由findgroups而且splitapply

扩展功能

版本历史

在R2015b中引入