文档帮助中心文档
过滤器由集团
G = groupfilter (T groupvars方法)
g = groupfilter(t,groupvars,groupbins,方法)
G = groupfilter (___,datavars)
G = groupfilter (___,'已加入',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,'试验',@(x)numel(x)> 5)将数据分组到T通过试验,保留属于具有5次以上试验的组的行。
G= groupfilter (T,groupvars,方法)
G
T
groupvars
方法
g = groupfilter(t,'试验',@(x)numel(x)> 5)
试验
G= groupfilter (T,groupvars,groupbins,方法)将数据按照groupbins在应用筛选器之前,将组水平连接到输出表。例如,G = groupfilter(T,'销售日期','年份',@(x) numel(x) > 5)将数据装箱发售日期,并保留bin中包含5个以上元素的行。
G= groupfilter (T,groupvars,groupbins,方法)
groupbins
G = groupfilter(T,'销售日期','年份',@(x) numel(x) > 5)
发售日期
G= groupfilter (___,datavars)为前两种语法指定要应用筛选器的表变量。例如,g = groupfilter(t,'试验',@(x)x == max(x),'height')保持一行T对应于每次试验的最大高度。
G= groupfilter (___,datavars)
datavars
g = groupfilter(t,'试验',@(x)x == max(x),'height')
G= groupfilter (___“IncludedEdge”,LR)指定包含的仓边为“左”或'对'表示箱间隔的哪个末端是包容性的。您可以使用'includenteded'使用之前指定的语法groupbins.
G= groupfilter (___“IncludedEdge”,LR)
LR
“左”
'对'
'includenteded'
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
创建一个日期表和相应的利润。
时间戳= 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-Mar-2017 2032 02-Mar-2017 3071 15-Mar-2017 1185 10-APR-2017 2587 14-APR-2017 1998 30-APR-2017 2899 25-May-2017 3112 29-5月29日 - 5月25日 - 5月29日 - 5月29日 - 5月29日 - 5月29日 - 5月29日 - 5月29日 - 5月29日2017 909 21-5月21日 - 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)均值(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 11 2 3]';高度= [62 61 59 66 70 72 57 67 71]';性别= [“M”“F”“F”“M”“M”“F”“M”“M”“M”]'T =表(Groupid,Height,性别)
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 Height性别_______ ______ ______ 2 61“F”2 70“M”2 67“M”
返回组成员全部为男性的行。
G2 = groupfilter (T)“groupID”@ (x)所有(x = =“M”),“性别”)
G2 =3×3表Groupid Height性别_______ ______ ______ 1 62“M”1 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 =5x1分类星期四,星期三,星期五,星期六,星期二
输入数据,指定为表或时间表。
输入数组,指定为向量或矩阵。
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
指定为整数标量的一组容器
指定为类型标量的时间持续时间持续时间或日历,表示仓宽(用于datetime或持续时间分组变量)
持续时间
日历
列出每个分组变量的分类规则的单元格数组
时间箱datetime和持续时间只分组变量,指定为以下字符向量之一:
“第二”
每个垃圾箱都是1秒钟。
“一分钟”
每个垃圾箱都是1分钟。
“小时”
每个垃圾桶是1小时。
'天'
每个垃圾箱都是1个日历日。此值帐户占夏令时的班次。
'星期'
'月'
“季”
“年”
每个垃圾桶是1个日历年。该值用于闰日。
'十年'
'世纪'
“secondofminute”
垃圾箱是0到59的秒。
“minuteofhour”
箱子距离0到59分钟。
“hourofday”
垃圾箱的时间从0到23。
“dayofweek”
垃圾箱是从1到7日起的日子。本周的第一天是星期天。
“dayname”
“星期天”
'DayofMonth'
'Dayofyear'
'feewofomon'
“weekofyear”
“monthname”
“1月”
“monthofyear”
垃圾箱是1到12个月。
'seturanfyear'
当指定多个分组变量时,您可以提供应用于所有分组变量的单一分组规则,或者为每个分组变量提供包含分组方法的单元格数组,例如{'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参数不支持函数句柄。万博1manbetx
的方法参数必须是的有效输入裂开在一个大阵列上操作。
裂开
当按离散的datetime数组分组时,分类组名与内存中的组名不同GroupFilter.计算。
有关更多信息,请参见高大的数组.
离散化|findgroups|groupcounts|groupsummary|GroupTransform.|rowfun|裂开|varfun
离散化
findgroups
groupcounts
groupsummary
GroupTransform.
rowfun
varfun
您有此示例的修改版本。您是否希望使用您的编辑打开此示例?
你点击一个链接对应于这个MATLAB命令:
在MATLAB命令窗口中输入它来运行命令。Web浏览器不支持MATLAB命令。万博1manbetx
选择一个网站,在那里获得翻译的内容,并看到当地的活动和优惠。根据您的位置,我们建议您选择:.
你也可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。
联系您当地的办公室