文档帮助中心文档
过滤器由集团
G = groupfilter (T groupvars方法)
G = groupfilter (T groupvars groupbins、方法)
G = groupfilter (___datavars)
G = groupfilter (___、“IncludedEdge”LR)
B = groupfilter (groupvars,方法)
B = groupfilter (A、groupvars groupbins、方法)
B = groupfilter (A、groupvars groupbins方法,IncludedEdge, LR)
[B, BG] = groupfilter (,___)
例子
G= groupfilter (T,groupvars,方法)中的计算对表或时间表中的数据进行过滤方法中指定的分组变量的唯一组合进行分组groupvars.的方法参数是对每个非分组变量进行操作的函数句柄。输出G表格或时间表是否只包含行T满足条件方法.例如,G = groupfilter(T,'Trial',@(x) numel(x) > 5)将数据分组到T通过试验,保留属于具有5次以上试验的组的行。
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表groupID样本_______ ______ 1 3 1 1 1 2 2 2 2 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
创建一个表,其中包含两个变量,分别表示天数和温度。
[1 1 1 2 2 2]';Temp = [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 3 -2017 30- 4 -2017 2899 4 -2017 25- 5- 2017 3112 5- 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表groupID身高性别_______ ______ ______ 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) min(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表groupID高度性别 _______ ______ ______ 61“F”66“M”70“M”71“M”72“F”3
创建一个日期向量和相应利润值向量。
timeStamps = 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分类星期四,星期三,星期五,星期六,星期二
输入数据,指定为表或时间表。
输入数组,指定为向量或矩阵。
vartype
分组变量或向量,指定为以下选项之一:
对数组输入,groupvars可以是行数相同的列向量一个或排列在矩阵或单元格数组中的一组列向量。
对于表格或时间表的输入数据,groupvars指示使用哪些变量来计算数据中的组。您可以使用该表中的任何选项指定分组变量。
指定单个表变量名的字符向量或标量字符串
“Var1”
字符向量或字符串数组的单元格数组,其中每个元素是表变量名
{“Var1”“Var2”}
[" Var1”“Var2”)
表变量索引的标量或向量
1
[1 3 5]
逻辑向量,其每个元素对应一个表变量,其中真正的包含相应的变量和假不包括它
真正的
假
(真的假的真的)
接受表变量作为输入并返回逻辑标量的函数句柄
@isnumeric
属性生成的表下标vartype函数
vartype(数字)
例子:groupfilter (T“Var3”方法)
groupfilter (T“Var3”方法)
计算方法,指定为函数句柄。
方法定义用于从每个组中筛选成员的函数。该函数必须返回与输入数据具有相同行数的逻辑标量或逻辑列向量,以指示要选择哪些组成员。如果函数返回逻辑标量,则组的所有成员要么被过滤掉(当值为假)或none被过滤掉(当值为真正的).如果函数返回逻辑向量,则在对应元素时过滤掉组的成员假.当相应的元素被保存时,成员被保留真正的.
要定义函数句柄,请使用表单的语法@ myfunc (inputargs)在哪里myfunc取决于inputargs.例如,@ (x)的意思是(x)指定的变量x的输入参数的意思是函数。然后,可以定义用于筛选的条件,例如@(x) mean(x) >,它返回一个逻辑标量。该计算将保留组均值大于10的行。有关更多信息,请参见创建函数处理和匿名函数.
@ myfunc (inputargs)
myfunc
inputargs
@ (x)的意思是(x)
x
的意思是
@(x) mean(x) >
当groupfilter一次将方法应用于多个非分组变量时,该方法必须返回真正的为每个变量,以保持行。
groupfilter
“没有”
bining方案,指定为以下选项之一:
“没有”,表示没有装箱
容器边的列表,指定为数字向量或datetime向量为datetime分组变量
datetime
指定为整数标量的一组容器
指定为类型标量的时间持续时间持续时间或calendarDuration,表示仓宽(用于datetime或持续时间分组变量)
持续时间
calendarDuration
列出每个分组变量的分类规则的单元格数组
时间箱datetime和持续时间只分组变量,指定为以下字符向量之一:
“第二”
每个箱子是1秒。
“一分钟”
每个垃圾桶为1分钟。
“小时”
每个垃圾桶是1小时。
“天”
每个垃圾箱是1个日历天。这个值说明了夏令时转换。
“周”
“月”
“季”
“年”
每个垃圾桶是1个日历年。该值用于闰日。
“十年”
“世纪”
“secondofminute”
箱子的时间从0到59秒。
“minuteofhour”
垃圾箱的分钟从0到59。
“hourofday”
垃圾箱的时间从0到23。
“dayofweek”
垃圾箱是从1天到7天。一周的第一天是星期天。
“dayname”
“星期天”
“dayofmonth”
“dayofyear”
“weekofmonth”
“weekofyear”
“monthname”
“1月”
“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
当按离散的datetime数组分组时,分类组名与内存中的组名不同groupfilter计算。
有关更多信息,请参见高大的数组.
backgroundPool
ThreadPool
这个函数完全支持基于线程的环境。金宝app有关更多信息,请参见在线程环境中运行MATLAB函数.
groupsummary|groupcounts|grouptransform|findgroups|splitapply|离散化|varfun|rowfun
groupsummary
groupcounts
grouptransform
findgroups
离散化
varfun
rowfun
您有这个示例的修改版本。您想打开这个示例与您的编辑吗?
你点击一个链接对应于这个MATLAB命令:
通过在MATLAB命令窗口中输入命令来运行命令。Web浏览器不支持MATLAB命令。金宝app
选择一个网站,在那里获得翻译的内容,并看到当地的活动和优惠。根据您的位置,我们建议您选择:.
你也可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。
与当地办事处联系