文档

分组变量来拆分数据

可以使用分组变量将数据变量分成组。方法的第一步通常是选择分组变量Split-Apply-Combine工作流。您可以将数据分成组,对每个组应用函数,并组合结果。您还可以在分组变量中表示缺失的值,以便忽略数据变量中的对应值。

分组变量

分组变量是用于对观察进行分组或分类的变量—即其他变量中的数据值。分组变量可以是以下任何一种数据类型:

  • 数字的,逻辑的,范畴的,datetime,或持续时间向量

  • 字符向量的单元格数组

  • 表,其中包含此列表中任何数据类型的表变量

数据变量是包含观察结果的变量。分组变量必须有一个对应于数据变量中的每个值的值。当分组变量中的对应值相同时,数据值属于同一组。

此表显示了数据变量、分组变量的示例,以及在使用分组变量拆分数据变量时可以创建的组。

数据变量

分组变量

数据组

[5 10 15 20 25 30]

[0 0 0 0 1 1]

[5 10 15 20] [25 30]

[10 20 30 40 50 60]

[1 3 3 1 2 1]

[10 40 60] [50] [20 30]

[64 72 67 69 64 68]

{‘F’,‘米’,‘F’,‘米’,‘F’,‘F’}

[64 67 64 68] [72 69]

当使用字符向量的单元格数组或类别数组作为分组变量时,可以为数据组指定有意义的名称。分类数组是一种高效而灵活的分组变量选择方法。

组定义

通常,分组变量中有多少惟一值,就有多少组。(类别数组还可以包括数据中没有表示的类别。)组和组的顺序取决于分组变量的数据类型。

  • 对于数字,逻辑,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忽略数据变量中的对应值。

分组变量数据类型

缺少数值指示符

数字

逻辑

(不可能丢失)

分类

<定义>

datetime

NaT

持续时间

字符向量的单元格数组

''

字符串

< >失踪

另请参阅

|||

相关的话题

这个话题有帮助吗?