文档帮助中心文档
通过组过滤器
G = groupfilter (T groupvars方法)
G = groupfilter (T groupvars groupbins、方法)
G = groupfilter(___datavars)
G = groupfilter(___、“IncludedEdge”LR)
B = groupfilter(A,groupvars,方法)
B = groupfilter (A、groupvars groupbins、方法)
B = groupfilter(A,groupvars,groupbins,方法 'IncludedEdge',LR)
[B,BG] = groupfilter(A,___)
例子
G= groupfilter (T,groupvars,方法)根据计算滤波器中在表或时间表的数据方法中指定的分组变量的唯一组合进行分组groupvars.的方法的说法是,在每个可变nongrouping操作的功能句柄。输出G表格或时间表是否只包含行T满足条件方法.例如,G = groupfilter(T,'Trial',@(x) numel(x) > 5)将数据分组到T通过审判,保持属于组,超过五个审判行。
G= groupfilter (T,groupvars,方法)
G
T
groupvars
方法
G = groupfilter(T,'Trial',@(x) numel(x) > 5)
审判
G= groupfilter (T,groupvars,groupbins,方法)仓根据数据groupbins应用滤波器之前,水平地串接组输出表。例如,G = groupfilter(T,'销售日期','年份',@(x) numel(x) > 5)将数据装箱SaleDate,并保留bin中包含5个以上元素的行。
G= groupfilter (T,groupvars,groupbins,方法)
groupbins
G = groupfilter(T,'销售日期','年份',@(x) numel(x) > 5)
SaleDate
G= groupfilter (___,datavars)指定表变量过滤器适用于对于任何一个以前的语法。例如,G = groupfilter (T,“审判”,@ x (x) = = max (x),“高”)保留的行T对应于每次试验的最大高度。
G= groupfilter (___,datavars)
datavars
G = groupfilter (T,“审判”,@ x (x) = = max (x),“高”)
G= groupfilter (___“IncludedEdge”,LR.)指定包括仓边缘作为'剩下'或者“对”指示bin间隔的哪一端是包含的。您可以使用“IncludeEdge”与以往任何语法指定groupbins.
G= groupfilter (___“IncludedEdge”,LR.)
LR.
'剩下'
“对”
“IncludeEdge”
B= groupfilter (一个,groupvars,方法)根据集合向量的唯一组合过滤数据groupvars当一个是一个向量或者矩阵。groupvars可以是列向量、矩阵或列向量的单元格数组。输出B是包含的行的矩阵一个满足所规定的条件方法.
B= groupfilter (一个,groupvars,方法)
B
一个
B= groupfilter (一个,groupvars,groupbins,方法)仓根据数据groupbins.
B= groupfilter (一个,groupvars,groupbins,方法)
B= groupfilter (一个,groupvars,groupbins,方法“IncludedEdge”,LR.)指定何时在每个容器中包含左边缘还是右边缘groupbins都是确定的。
B= groupfilter (一个,groupvars,groupbins,方法“IncludedEdge”,LR.)
(B,BG] = groupfilter(一个,___)也返回对应于未经滤波的行分组矢量的行一个.
(B,BG] = groupfilter(一个,___)
BG
全部折叠
创建一个包含两个变量的表。
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分类周三周四星期五星期六星期二
输入数据,指定为表或时间表。
输入数组,指定为向量或矩阵。
vartype
分组变量或矢量,指定为以下选项之一:
对数组输入,groupvars可以是行数相同的列向量一个或排列在矩阵或单元格数组中的一组列向量。
对于表格或时间表的输入数据,groupvars指示使用哪些变量来计算数据中的组。您可以使用该表中的任何选项指定分组变量。
字符向量或标量字符串,指定一个单一的表的变量名
“Var1”
“VAR1”
字符向量或字符串数组的单元格数组,其中每个元素是表变量名
{“Var1”“Var2”}
[" Var1”“Var2”)
表变量索引的标量或矢量
1
[1 3 5]
逻辑向量,其每个元素对应一个表变量,其中真的包含相应的变量和假不包括它
真的
假
(真的假的真的)
接受表变量作为输入并返回逻辑标量的函数句柄
@isnumeric
属性生成的表下标vartype功能
vartype(数字)
例子:groupfilter(T, “VAR3”,方法)
groupfilter(T, “VAR3”,方法)
计算方法,指定为函数句柄。
方法定义用于从每个组中筛选成员的函数。该函数必须返回与输入数据具有相同行数的逻辑标量或逻辑列向量,以指示要选择哪些组成员。如果函数返回逻辑标量,则组的所有成员要么被过滤掉(当值为假)或none被过滤掉(当值为真的).如果函数返回逻辑向量,则在对应元素时过滤掉组的成员假.当相应的元素被保存时,成员被保留真的.
要定义函数句柄,请使用表单的语法@(inputargs)MYFUNC在哪里MYFUNC取决于inputargs.例如,@ (x)的意思是(x)指定的变量x的输入参数的意思是功能。然后,可以定义用于过滤的状态下,如@(x) mean(x) >,它返回一个逻辑标量。该计算将保留组均值大于10的行。有关更多信息,请参见创建函数处理和匿名函数.
@(inputargs)MYFUNC
MYFUNC
inputargs
@ (x)的意思是(x)
x
的意思是
@(x) mean(x) >
当groupfilter在时间适用该方法到多于一个nongrouping变量,该方法必须返回真的为每个变量,以保持行。
groupfilter
“没有”
分档方案,指定为下列选项之一:
“没有”,表示没有装箱
容器边的列表,指定为数字向量或约会时间矢量约会时间分组变量
约会时间
多个容器,指定为整数标量
的持续时间,指定为类型的标量持续时间或者calendarDuration指示箱宽度(为约会时间或者持续时间分组变量)
持续时间
calendarDuration
列出每个分组变量的分类规则的单元格数组
一时间仓约会时间和持续时间分组仅被指定为下面的字符向量之一的变量:
“第二”
每个箱子是1秒。
“一分钟”
每个垃圾桶为1分钟。
'小时'
每个垃圾桶是1小时。
“天”
每个垃圾箱是1个日历天。这个值说明了夏令时转换。
“周”
“月”
'四分之一'
'年'
每个垃圾桶是1个日历年。该值用于闰日。
“十年”
“世纪”
“secondofminute”
箱子的时间从0到59秒。
“minuteofhour”
垃圾箱的分钟从0到59。
'HOUROFDAY'
箱是从0到23小时。
“dayofweek”
垃圾箱是从1天到7天。一周的第一天是星期天。
“dayname”
'星期日'
“dayofmonth”
“dayofyear”
“weekofmonth”
“weekofyear”
'MONTHNAME'
'一月'
'monthofyear'
垃圾箱是1到12个月。
“quarterofyear”
当指定了多个分组变量,则可以提供一种适用于所有分组变量单个合并规则,或含有分级方法为每个分组变量诸如单元阵列{'none',[0 2 4 Inf]}.
{'none',[0 2 4 Inf]}
包括仓边,指定为'剩下'或者“对”,指示bin间隔的哪个端点是包含的。
此参数只能在groupbins,该值对所有分组变量或向量应用所有装箱方案。
要操作的表变量,指定为该表中的选项之一。datavars指示要对输入表或时间表中的哪些变量应用过滤方法。表中未指定的其他变量datavars通过到输出而不被操作。groupfilter将筛选方法应用于指定的变量,并使用结果从所有变量中删除行。当datavars未指定,groupfilter对每个非分组变量进行操作。
例子:groupfilter (T groupvars方法,(“Var1”“Var2”“Var4”])
groupfilter (T groupvars方法,(“Var1”“Var2”“Var4”])
输出表,返回作为包含数据的未滤波的行的表或时间表。
输出数组,作为包含未过滤数据的向量或矩阵返回。
将数组输入数据的向量分组,作为列向量或列向量的单元格数组返回。BG包含与中未筛选行的对应的分组向量的行一个.
使用注意事项及限制:
如果一个和groupvars都是高大的矩阵,那么它们必须有相同的行数。
如果第一个输入是一个高矩阵,那么groupvars可以是一个包含高分组向量的单元阵列。
的groupvars和datavars参数不支持函数句柄。金宝app
的方法参数必须是的有效输入splitapply在一个大阵列上操作。
splitapply
当由日期时间离散阵列分组,该分类组名称相比,在存储器是不同groupfilter计算。
有关更多信息,请参见高大的数组.
离散化|findgroups|groupcounts|groupsummary|grouptransform|rowfun|splitapply|varfun
离散化
findgroups
groupcounts
groupsummary
grouptransform
rowfun
varfun
您有这个示例的修改版本。您想打开这个示例与您的编辑吗?
你点击一个链接对应于这个MATLAB命令:
通过在MATLAB命令窗口中输入命令来运行命令。Web浏览器不支持MATLAB命令。金宝app
选择一个网站,以便在可用的地方进行翻译的内容,并查看本地活动和优惠。根据您的位置,我们建议您选择:.
您还可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。
与当地办事处联系