可以使用分组变量将数据变量分成组。通常,选择分组变量是Split-Apply-Combine工作流。您可以将数据分成组,对每个组应用一个函数,并合并结果。您还可以在分组变量时表示缺少的值,以便忽略数据变量中的相应值。
分组变量是用于组的变量,或分类,观察 - 即其他变量中的数据值。分组变量可以是任何这些数据类型:
数字、逻辑、分类约会时间
,或持续时间
向量
字符向量的单元格阵列
表,列表中的表变量可以是任何数据类型
数据变量是包含观察的变量。分组变量必须具有与数据变量中的每个值对应的值。当分组变量中的相应值相同时,数据值属于同一组。
该表显示了数据变量、分组变量以及使用分组变量分割数据变量时可以创建的组的示例。
数据变量 |
分组变量 |
组织的数据 |
---|---|---|
|
|
|
|
|
|
|
|
|
当使用字符向量的单元格数组或类别数组作为分组变量时,可以为数据组指定有意义的名称。分类数组是一种高效、灵活的分组变量选择方法。
通常,分组变量中有多少唯一值就有多少组。(类别数组也可以包括数据中没有表示的类别。)组和组的顺序取决于分组变量的数据类型。
对数字、逻辑约会时间
,或持续时间
字符向量或字符向量的传感器阵列,这些组对应于按升序排序的唯一值。
对于分类数组,组对应于在数组中观察到的唯一值,并按返回的顺序排序类别
函数。
的findgroups
例如,函数可以接受多个分组变量G = findgroups (A1, A2)
.例如,您还可以在一个表中包含多个分组变量T =表(A1, A2);G = findgroups (T)
.的findgroups
函数通过跨分组变量的相应元素的值的唯一组合来定义组。findgroups
根据第一个分组变量的顺序决定顺序,然后根据第二个分组变量的顺序,以此类推。例如,如果A1 = {' a ', ' a ', ' b ', ' b '}
和A2 = [0 1 0 0]
,则跨分组变量的唯一值为' ' 0
,“一个”1
, 和“b”0
他定义了三个群体。
在将分组变量和拆分数据变量分成组后,可以将函数应用于组并组合结果。此工作流称为拆分应用组合工作流程。你可以使用findgroups
和splitapply
函数集合在一起来分析工作流中的数据组。此图显示了一个使用分组变量的简单示例性别
以及数据变量高度
按性别计算平均高度。
的findgroups
函数返回的向量组数字基于分组变量中的惟一值定义组。splitapply
在应用函数之前,使用组号将数据有效地分成组。
分组变量可能具有缺失值。此表显示了每个数据类型的缺失值指示符。如果分组变量具有缺失值,那么findgroups
分配南
作为组号,和splitapply
忽略数据变量中相应的值。
分组变量数据类型 |
缺少价值指标 |
---|---|
数字 |
|
逻辑 |
(不能缺少) |
分类 |
|
|
|
|
|
字符向量的单元格阵列 |
|
字符串 |
|
findgroups
|Rowfun.
|splitapply
|varfun