可以使用分组变量将数据变量分成组。方法的第一步通常是选择分组变量Split-Apply-Combine工作流。您可以将数据分成组,对每个组应用一个函数,然后将结果组合在一起。您还可以在分组变量时表示缺失值,以便忽略数据变量中的相应值。
分组变量是用于对观察结果进行分组或分类的变量——即其他变量中的数据值。分组变量可以是以下任何一种数据类型:
数字的,逻辑的,分类的,datetime
,或持续时间
向量
字符向量的单元格数组
表,表变量为此列表中的任何数据类型
数据变量是包含观测值的变量。分组变量必须具有与数据变量中的每个值相对应的值。当分组变量中对应的值相同时,数据值属于同一组。
此表显示了数据变量、分组变量的示例,以及在使用分组变量拆分数据变量时可以创建的组。
数据变量 |
分组变量 |
数据组 |
---|---|---|
|
|
|
|
|
|
|
|
|
当使用字符向量的单元格数组或分类数组作为分组变量时,可以为数据组提供有意义的名称。分类数组是一种高效灵活的分组变量选择方法。
通常,分组变量中有多少唯一值,就有多少组。(类别数组还可以包括数据中没有表示的类别。)分组和分组的顺序取决于分组变量的数据类型。
对于数字,逻辑,datetime
,或持续时间
向量或字符向量的单元格数组,这些组对应于按升序排序的惟一值。
类返回的顺序排序,组对应于数组中观察到的惟一值类别
函数。
的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
|splitapply
|rowfun
|varfun