主要内容

groupfilter

通过组过滤器

描述

例子

G= groupfilter (Tgroupvars方法根据计算滤波器中在表或时间表的数据方法中指定的分组变量的唯一组合进行分组groupvars.的方法的说法是,在每个可变nongrouping操作的功能句柄。输出G表格或时间表是否只包含行T满足条件方法.例如,G = groupfilter(T,'Trial',@(x) numel(x) > 5)将数据分组到T通过审判,保持属于组,超过五个审判行。

例子

G= groupfilter (Tgroupvarsgroupbins方法仓根据数据groupbins应用滤波器之前,水平地串接组输出表。例如,G = groupfilter(T,'销售日期','年份',@(x) numel(x) > 5)将数据装箱SaleDate,并保留bin中包含5个以上元素的行。

例子

G= groupfilter (___datavars指定表变量过滤器适用于对于任何一个以前的语法。例如,G = groupfilter (T,“审判”,@ x (x) = = max (x),“高”)保留的行T对应于每次试验的最大高度。

G= groupfilter (___“IncludedEdge”,LR.指定包括仓边缘作为'剩下'或者“对”指示bin间隔的哪一端是包含的。您可以使用“IncludeEdge”与以往任何语法指定groupbins

B= groupfilter (一个groupvars方法根据集合向量的唯一组合过滤数据groupvars一个是一个向量或者矩阵。groupvars可以是列向量、矩阵或列向量的单元格数组。输出B是包含的行的矩阵一个满足所规定的条件方法

例子

B= groupfilter (一个groupvarsgroupbins方法仓根据数据groupbins

B= groupfilter (一个groupvarsgroupbins方法“IncludedEdge”,LR.指定何时在每个容器中包含左边缘还是右边缘groupbins都是确定的。

例子

(BBG] = groupfilter(一个___也返回对应于未经滤波的行分组矢量的行一个

例子

全部折叠

创建一个包含两个变量的表。

groupID = [1 1 1 2 2 3]';样本= [3 1 2 9 8 5]';T =表(groupID、样品)
T =6×2表组ID样品_______ ______ 1 3 1 1 1 2 2 9 2 8 3 5

根据ID号进行分组,并且只返回与包含两个以上示例的组对应的行。

Gnumel = groupfilter (T)“groupID”,@(x) numel(x) > 2)
Gnumel =3×2表groupID样本_______ ______ 1 3 1 1 1 2

只返回组样本值在0到6之间的行。

Gvals = groupfilter (T)“groupID”,@(x) min(x) > 0 && max(x) < 6
Gvals =4×2表groupID样本_______ ______ 1 3 1 1 1 2 3 5

创建一个表,其中包含两个变量,分别表示天数和温度。

daynum在= [1 1 1 1 2 2 2 2]  - ;温度= [67 65 71 55 61 79 58 78]';T =表(daynum在,温度)
T =8×2表Daynum temp ______ ____ 1 67 1 65 1 71 1 55 2 61 2 79 2 58 2 78

通过天数集团,并返回最大的两个温度的每一天。

G = groupfilter (T),'daynum在'@ (x) ismember (x, maxk (x, 2)))
G =4×2表Daynum temp ______ ____ 1 67 1 71 2 79 2 78

创建一个日期表和相应的利润。

timeStamps = datetime([2017 3 4;2017年3 - 2;2017年3 15;2017 4 10;......2017 4 14;2017 4 30;2017 5 25;......2017 5 29;2017 5 21]);利润= [2032 3071 1185 2587 1998 2899 3112 909 2619]';T =表(时间戳、利润)
T =9×2表timeStamps profit ___________ ______ 04- march -2017 2032 02- march -2017 3071 15- march -2017 1185 10- april -2017 2587 14- april -2017 1998 30- april -2017 2899 25-May-2017 3112 29-May-2017 909 21-May-2017 2619

集团每月的日期,只返回行对应的最大利润为一个月。

Gmax = groupfilter (T)“时间戳”“月”@(x)x == MAX(X))
Gmax =3×3表时间戳利润month_timeStamps ___________ ______ ________________ 02-MAR-2017 3071月 -  2017年30月 -  2017年2899月 -  2017年25月 -  2017年3112月 -  2017年

返回月平均利润大于2300美元的行。

Gavg = groupfilter (T)“时间戳”“月”,@(x) mean(x) > 2300)
Gavg =3×3表month_timeStamps ___________ ______ ________________ 10-Apr-2017 2587四月-2017 14-四月-2017 1998四月-2017 30-四月-2017 2899四月-2017

创建一个包含三个变量的表。

groupID = [1 2 3 1 2 3 1 2 3]';Height = [62 61 59 66 70 72 57 67 71]';性别= [“M”“F”“F”“M”“M”“F”“M”“M”“M”]“;T =表(groupID,身高,性别)
T =9×3表组ID高度性别_______ ______ ______ 1 62 “M” 2 61 “F” 3 59 “F”​​ 1 66 “M” 2 70 “M” 3 72 “F” 1 57 “M” 2 67 “M” 3 71“M“

组由ID号,并返回其行组成员都具有60的最小高度。

G1 = groupfilter(T,“groupID”,@(x)的分钟(X)> = 60,“高度”
G1 =3×3表groupID高度性别  _______ ______ ______ 61“F”70“M”67“M”

返回行,其小组成员都是男性。

G2 = groupfilter (T)“groupID”@ (x)所有(x = =“M”),'性别'
G2 =3×3表groupID高度性别  _______ ______ ______ 62“M”66“M”1 57“M”

根据ID号和性别进行分组,并返回包含每个组中男性和女性的最大身高的行。

G3 = groupfilter (T) {“groupID”'性别'},@(x) x == max(x))
G3 =5×3表组ID高度性别_______ ______ ______ 2 61 “F” 1 66 “M” 2 70 “M” 3 72 “F” 3 71 “M”

创建日期的向量和相应的利润值的向量。

时间戳=日期时间([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]);利润= [2032 3071 1185 2587 1998 2899 3112 909 2619 3085]';

按星期的天数分组,并计算每组的最大利润。展示最大利润及其对应的群组。

[maxDailyProfit,星期] = groupfilter(利润,时间戳“dayname”@(x)x == MAX(X))
maxDailyProfit =5×13071 1185 2899 3112 2619
一周中的某天=5 x1分类周三周四星期五星期六星期二

输入参数

全部折叠

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

输入数组,指定为向量或矩阵。

分组变量或矢量,指定为以下选项之一:

  • 对数组输入,groupvars可以是行数相同的列向量一个或排列在矩阵或单元格数组中的一组列向量。

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

    选项 描述 例子
    变量名

    字符向量或标量字符串,指定一个单一的表的变量名

    “Var1”

    “VAR1”

    变量名的矢量

    字符向量或字符串数组的单元格数组,其中每个元素是表变量名

    {“Var1”“Var2”}

    [" Var1”“Var2”)

    可变指标的标量或向量

    表变量索引的标量或矢量

    1

    [1 3 5]

    逻辑向量

    逻辑向量,其每个元素对应一个表变量,其中真的包含相应的变量和不包括它

    (真的假的真的)

    函数处理

    接受表变量作为输入并返回逻辑标量的函数句柄

    @isnumeric

    vartype

    属性生成的表下标vartype功能

    vartype(数字)

例子:groupfilter(T, “VAR3”,方法)

计算方法,指定为函数句柄。

方法定义用于从每个组中筛选成员的函数。该函数必须返回与输入数据具有相同行数的逻辑标量或逻辑列向量,以指示要选择哪些组成员。如果函数返回逻辑标量,则组的所有成员要么被过滤掉(当值为)或none被过滤掉(当值为真的).如果函数返回逻辑向量,则在对应元素时过滤掉组的成员.当相应的元素被保存时,成员被保留真的

要定义函数句柄,请使用表单的语法@(inputargs)MYFUNC在哪里MYFUNC取决于inputargs.例如,@ (x)的意思是(x)指定的变量x的输入参数的意思是功能。然后,可以定义用于过滤的状态下,如@(x) mean(x) >,它返回一个逻辑标量。该计算将保留组均值大于10的行。有关更多信息,请参见创建函数处理匿名函数

groupfilter在时间适用该方法到多于一个nongrouping变量,该方法必须返回真的为每个变量,以保持行。

分档方案,指定为下列选项之一:

  • “没有”,表示没有装箱

  • 容器边的列表,指定为数字向量或约会时间矢量约会时间分组变量

  • 多个容器,指定为整数标量

  • 的持续时间,指定为类型的标量持续时间或者calendarDuration指示箱宽度(为约会时间或者持续时间分组变量)

  • 列出每个分组变量的分类规则的单元格数组

  • 一时间仓约会时间持续时间分组仅被指定为下面的字符向量之一的变量:

    价值 描述 数据类型
    “第二”

    每个箱子是1秒。

    约会时间持续时间
    “一分钟”

    每个垃圾桶为1分钟。

    约会时间持续时间
    '小时'

    每个垃圾桶是1小时。

    约会时间持续时间
    “天”

    每个垃圾箱是1个日历天。这个值说明了夏令时转换。

    约会时间持续时间
    “周” 每个垃圾桶是一个日历周。 约会时间只有
    “月” 每个仓是1日历月。 约会时间只有
    '四分之一' 每个箱子是1个日历季度。 约会时间只有
    '年'

    每个垃圾桶是1个日历年。该值用于闰日。

    约会时间持续时间
    “十年” 每个垃圾桶是1个十年(10个日历年)。 约会时间只有
    “世纪” 每个仓是1个世纪(100日历年度)。 约会时间只有
    “secondofminute”

    箱子的时间从0到59秒。

    约会时间只有
    “minuteofhour”

    垃圾箱的分钟从0到59。

    约会时间只有
    'HOUROFDAY'

    箱是从0到23小时。

    约会时间只有
    “dayofweek”

    垃圾箱是从1天到7天。一周的第一天是星期天。

    约会时间只有
    “dayname” 仓整天的名字,如'星期日' 约会时间只有
    “dayofmonth” 段从1到31天。 约会时间只有
    “dayofyear” 垃圾桶是1到366天。 约会时间只有
    “weekofmonth” 垃圾箱从1到6周。 约会时间只有
    “weekofyear” 垃圾箱从1到54个星期。 约会时间只有
    'MONTHNAME' bin是完整的月份名称,例如'一月' 约会时间只有
    'monthofyear'

    垃圾箱是1到12个月。

    约会时间只有
    “quarterofyear” 箱是宿舍从1到4。 约会时间只有

当指定了多个分组变量,则可以提供一种适用于所有分组变量单个合并规则,或含有分级方法为每个分组变量诸如单元阵列{'none',[0 2 4 Inf]}

包括仓边,指定为'剩下'或者“对”,指示bin间隔的哪个端点是包含的。

此参数只能在groupbins,该值对所有分组变量或向量应用所有装箱方案。

要操作的表变量,指定为该表中的选项之一。datavars指示要对输入表或时间表中的哪些变量应用过滤方法。表中未指定的其他变量datavars通过到输出而不被操作。groupfilter将筛选方法应用于指定的变量,并使用结果从所有变量中删除行。当datavars未指定,groupfilter对每个非分组变量进行操作。

选项 描述 例子
变量名

字符向量或标量字符串,指定一个单一的表的变量名

“Var1”

“VAR1”

变量名的矢量

字符向量或字符串数组的单元格数组,其中每个元素是表变量名

{“Var1”“Var2”}

[" Var1”“Var2”)

可变指标的标量或向量

表变量索引的标量或矢量

1

[1 3 5]

逻辑向量

逻辑向量,其每个元素对应一个表变量,其中真的包含相应的变量和不包括它

(真的假的真的)

函数处理

接受表变量作为输入并返回逻辑标量的函数句柄

@isnumeric

vartype

属性生成的表下标vartype功能

vartype(数字)

例子:groupfilter (T groupvars方法,(“Var1”“Var2”“Var4”])

输出参数

全部折叠

输出表,返回作为包含数据的未滤波的行的表或时间表。

输出数组,作为包含未过滤数据的向量或矩阵返回。

将数组输入数据的向量分组,作为列向量或列向量的单元格数组返回。BG包含与中未筛选行的对应的分组向量的行一个

扩展功能

介绍了R2019b