主要内容

groupfilter

过滤器由集团

描述

例子

G= groupfilter (T,groupvars,方法)过滤表中的数据或根据计算的时间表方法独特的组合,分组的分组变量中指定groupvars。的方法参数是一个函数处理,作用于每个nongrouping变量。输出G是一个表或时间表只包含的行吗T满足的条件方法。例如,G = groupfilter (T,“审判”,@ (x)元素个数(x) > 5)组中的数据T通过试验,保持与超过五行属于组试验。

例子

G= groupfilter (T,groupvars,groupbins,方法)根据箱数据groupbins应用过滤器之前,横向连接组输出表。例如,G = groupfilter (T,‘SaleDate’,‘年’,@ (x)元素个数(x) > 5)垃圾箱中的数据SaleDate年,使本已超过5个元素的行。

例子

G= groupfilter (___,datavars)指定表变量将过滤器应用于以前的语法。例如,G = groupfilter (T,“审判”,@ x (x) = = max (x),“高”)持续的行T对应于最大高度为每个审判。

G= groupfilter (___“IncludedEdge”,LR)指定包含本边缘“左”“对”表明本间隔的哪一端是包容。您可以使用“IncludeEdge”与指定的任何以前的语法groupbins

B= groupfilter (一个,groupvars,方法)过滤数据根据分组向量的独特组合groupvars一个是一个向量或矩阵。groupvars可以是一个列向量、矩阵或单元阵列的列向量。输出B是一个矩阵包含的行吗一个满足定义的条件方法

例子

B= groupfilter (一个,groupvars,groupbins,方法)根据箱数据groupbins

B= groupfilter (一个,groupvars,groupbins,方法“IncludedEdge”,LR)指定是否在每一本包括左或右边缘groupbins都是确定的。

例子

(B,BG)= groupfilter (一个,___)还返回分组的行向量对应未过滤的行一个

例子

全部折叠

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

groupID = [1 1 1 2 2 3] ';示例= [3 1 2 9 8 5]';T =表(groupID、样品)
T =6×2表groupID样本_________ ______ 1 2 3 1 1 1 2 2 9 8 3 5

组ID号,只返回行对应组有超过两个样品。

Gnumel = groupfilter (T)“groupID”@ (x)元素个数(x) > 2)
Gnumel =3×2表groupID样本______ 1 3 1 1 1 2

只返回行0和6之间的组织样本。

Gvals = groupfilter (T)“groupID”@ (x)最小(x) > 0 & &最大(x) < 6)
Gvals =4×2表groupID样本_________ ______ 1 3 1 1 1 2 3 5

创建一个表包含两个变量代表一天数和温度。

daynum = [1 1 1 1 2 2 2 2]”;temp = (67 65 71 55 61 79 58 78) ';T =表(daynum、临时)
T =8×2表daynum临时______ ____ 1 67 1 65 1 71 1 55 78 61 79 2 58 2

白天组数,并返回每天最大的两个温度。

G = groupfilter (T),“daynum”@ (x) ismember (x, maxk (x, 2)))
G =4×2表daynum临时______ 1 67 1 71 2 79 2 78

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

时间戳= 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表时间戳利润___________ ______ 04 - 2032年3月- 2017年02 - 1185年3月15 - 3月- 2017 - 2017 3071 10 - 2587年4月- 2017年4月14 - 25 - 2017 1998 30 - 2899年4月- 2017年- 3112年5月- 2017年29日2017年5月——909年5月- 2017 21 - 2619

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

Gmax = groupfilter (T)“时间戳”,“月”@ x (x) = = max (x))
Gmax =3×3表时间戳利润month_timeStamps ___________ ______ ___________ 02 - - 2017 3071年3月- 2017年3月30日- 2899年4月- 2017年4月- 2017 25 - 3112年5月- 2017年5月- 2017

返回行其月平均利润超过2300美元。

Gavg = groupfilter (T)“时间戳”,“月”@ (x)的意思是(x) > 2300)
Gavg =3×3表时间戳利润month_timeStamps ___________ ______ ___________ 10 - 2587年4月- 2017年4月- 2017年14 - 1998年4月- 2017年4月- 2017年30 - 2899年4月- 2017年4月- 2017

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

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

组ID号,返回行其小组成员都有一个最低60的高度。

G1 = groupfilter (T)“groupID”@ (x) 60分钟(x) > =,“高度”)
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表groupID ____高度性别出生2 61“F”66“M”70“M”71“M”72“F”3

创建日期和一个向量的向量对应的利润值。

时间戳= datetime ([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, dayOfWeek] = groupfilter(利润,时间戳,“dayname”@ x (x) = = max (x))
maxDailyProfit =5×13071 1185 2899 3112 2619
dayOfWeek =5 x1分类周二周三周四周五周六

输入参数

全部折叠

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

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

分组变量或向量,指定这些选项之一:

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

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

    选项 描述 例子
    变量名

    一个特征向量或标量字符串指定单个表变量名

    “Var1”

    “Var1”

    向量的变量名

    特征向量的单元阵列或字符串数组,其中每个元素是一个表变量名

    {“Var1”“Var2”}

    [" Var1”“Var2”)

    标量或矢量变量指标

    一个标量或矢量表变量指标

    1

    [1 3 5]

    逻辑向量

    逻辑向量的每个元素对应一个表变量真正的包括相应的变量不包括它

    (真的假的真的)

    函数处理

    一个函数处理,表变量作为输入,并返回一个逻辑标量

    @isnumeric

    vartype下标

    表生成的下标vartype函数

    vartype(数字)

例子:groupfilter (T“Var3”方法)

计算方法,指定为一个函数处理。

方法定义了函数用于过滤从每个小组成员。函数必须返回一个逻辑标量或逻辑列向量具有相同的行数作为输入数据表明小组成员选择。如果函数返回一个逻辑标量,然后组内的所有成员是过滤掉(价值时)或没有过滤掉(价值时真正的)。如果函数返回一个逻辑向量,然后成员组时过滤掉相应的元素。成员保存在相应的元素真正的

定义函数处理,使用的语法形式@ myfunc (inputargs)在哪里myfunc取决于inputargs。例如,@ (x)的意思是(x)指定的变量x作为输入参数的意思是函数。您可以定义一个过滤条件,如@ (x)的意思是(x) > 10,它返回一个逻辑标量。这种计算使行组的平均超过10。有关更多信息,请参见创建函数处理匿名函数

groupfilter该方法适用于多个nongrouping变量,方法必须返回真正的为每个变量为了保持连续。

装箱计划,指定为以下选项之一:

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

  • 本边缘的列表,指定为一个数值向量,或datetime向量为datetime分组变量

  • 一些垃圾箱,指定为一个整数标量

  • 时间,指定为一个标量类型持续时间calendarDuration,表明本宽度(datetime持续时间分组变量)

  • 单元阵列清单装箱规则为每个分组变量

  • 时间本datetime持续时间指定分组变量,如以下的其中一个特征向量:

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

    每本1秒。

    datetime持续时间
    “一分钟”

    每本1分钟。

    datetime持续时间
    “小时”

    每箱是1小时。

    datetime持续时间
    “天”

    每本1日历天。这个值占夏令时的转变。

    datetime持续时间
    “周” 每一本日历是1周。 datetime只有
    “月” 每本1日历月。 datetime只有
    “季” 每箱是1季度。 datetime只有
    “年”

    每本是1年。这个值占飞跃天。

    datetime持续时间
    “十年” 每本十年是1(10个日历年)。 datetime只有
    “世纪” 每本1世纪(100日历年)。 datetime只有
    “secondofminute”

    箱子从0到59秒。

    datetime只有
    “minuteofhour”

    箱子从0到59分钟。

    datetime只有
    “hourofday”

    箱子从0到23小时。

    datetime只有
    “dayofweek”

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

    datetime只有
    “dayname” 垃圾箱是一整天的名字等“星期天” datetime只有
    “dayofmonth” 箱子从1到31天。 datetime只有
    “dayofyear” 箱子从1到366天。 datetime只有
    “weekofmonth” 箱子从1到6周。 datetime只有
    “weekofyear” 箱子从1 - 54周。 datetime只有
    “monthname” 箱子里满是如月的名字“1月” datetime只有
    “monthofyear”

    箱子从1到12个月。

    datetime只有
    “quarterofyear” 箱子从1到4季度。 datetime只有

当多个指定分组变量,您可以提供一个装箱规则适用于所有分组变量,或一个细胞数组包含为每个分组变量,如装箱方法{“没有”,[0 2 4正]}

包括本边缘,指定为“左”“对”,表明本间隔的包容性。

这个论点可以只有当指定groupbins和指定值适用于所有装箱计划分组变量或向量。

表变量操作,指定为这个表的选项之一。datavars显示变量的输入表或时间表应用过滤方法。没有指定表中的其他变量datavars通过输出不动手术。groupfilter过滤方法适用于指定的变量,并使用结果从所有的变量删除行。当datavars没有指定,groupfilter作用于每个nongrouping变量。

选项 描述 例子
变量名

一个特征向量或标量字符串指定单个表变量名

“Var1”

“Var1”

向量的变量名

特征向量的单元阵列或字符串数组,其中每个元素是一个表变量名

{“Var1”“Var2”}

[" Var1”“Var2”)

标量或矢量变量指标

一个标量或矢量表变量指标

1

[1 3 5]

逻辑向量

逻辑向量的每个元素对应一个表变量真正的包括相应的变量不包括它

(真的假的真的)

函数处理

一个函数处理,表变量作为输入,并返回一个逻辑标量

@isnumeric

vartype下标

表生成的下标vartype函数

vartype(数字)

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

输出参数

全部折叠

输出表,返回包含过滤行数据表或时间表。

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

分组向量数组输入数据,作为一个列向量或细胞返回数组的列向量。BG包含行向量对应的分组过滤行一个

扩展功能

介绍了R2019b