ドキュメンテーションヘルプセンタードキュメンテーション
このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。
グループによるフィルター処理
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のデータを年別にビン化し,要素数が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)は,ビンのエッジを“左”または“对”として指定し,ビン区間のいずれの端が含まれるかを示します。groupbinsを指定する前述のどの構文でも“IncludeEdge”を使用できます。
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
すべて折りたたむ
表2変数を含むを作成します。
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号でグループ化し,サンプル数が2を超えるグループに対応する行のみを返します。
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
日番号と温度を表す2変数を含む表を作成します。
[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
日番号でグループ化し,それぞれの日の最も高い温度2値を返します。
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
表3変数を含むを作成します。
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”方法)
計算方法。関数ハンドルとして指定します。
方法は,各グループからメンバーをフィルターで除外するために使用される関数を定義します。この関数は、逻辑スカラーを返すか,入力データと同じ行数をもち,選択するグループメンバーを示す逻辑列ベクトルを返さなければなりません。関数が逻辑スカラーを返す場合,グループのすべてのメンバーがフィルターで除外されるか(値が假のとき),何も除外されません(値が真正的のとき)。関数が logical ベクトルを返す場合、対応する要素が假であるグループメンバーがフィルターで除外されます。対応する要素が真正的であるメンバーが保持されます。
関数ハンドルを定義するには,@ myfunc (inputargs)の形式の構文を使用します。ここでmyfuncはinputargsに依存します。たとえば,@(x)均值(x)は,変数xを関数意思の入力引数として指定します。次に,@(x) mean(x) >のようにフィルター処理の条件を定義できます。これは逻辑スカラーを返します。この計算は10を超える平均をもつグループの行を保持します。詳細については,関数ハンドルの作成と無名関数を参照してください。
@ myfunc (inputargs)
myfunc
inputargs
@(x)均值(x)
x
意思
@(x) mean(x) >
groupfilterが一度に複数の非グループ化変数を適用する場合,行を保持するために,メソッドは各変数について真正的を返さなければなりません。
groupfilter
“没有”
次次のいずれかのオプションとしてしし
ビン化しないことを示す“没有”
数値ベクトルまたは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”
複数のグループ化変数を指定する場合,すべてのグループ化変数に適用される1つのビン化ルールを指定するか,グループ化変数ごとのビン化メソッドが格納された细胞配列({'none',[0 2 4 Inf]}など)を指定することができます。
{'none',[0 2 4 Inf]}
含めるビンエッジ。“左”または“对”のいずれかとして指定し,ビン区間のどちらの端が含まれるかを示します。
この引数は,groupbinsが指定され,かつその値によりすべてのグループ化変数またはグループ化ベクトルにすべてのビン化スキームが適用される場合にのみ指定できます。
演算の対象とする表変数。次の表のオプションのいずれかとして指定します。datavarsは,フィルター方法を適用する入力表または时间表の変数を示します。datavarsで指定されていない表内のその他の変数は,演算されずに出力に渡されます。groupfilterはフィルター方法を指定した変数に適用し,その結果を使用してすべての変数から行を削除します。datavarsが指定されない場合,groupfilterはそれぞれの非グループ化変数を処理します。
例:groupfilter (T groupvars方法,(“Var1”“Var2”“Var4”])
groupfilter (T groupvars方法,(“Var1”“Var2”“Var4”])
出力表。フィルター処理されていないデータの行を含む表または时间表として返されます。
出力配列。フィルター処理されていないデータを含むベクトルまたは行列として返されます。
配列の入力データのグループ化ベクトル。列ベクトル,または列ベクトルの细胞配列として返されます。BGは,一个のフィルター処理されていない行に対応するグループ化ベクトルの行を含みます。
使用上の注意事項および制限事項:
一个とgroupvarsが両方とも高级行为のの合,その行数は同じでなければませません。
最初の入力が行高列の場合,groupvarsを高グループ化ベクトルを含む细胞配列にすることができます。
引数groupvarsと引数datavarsは関数ハンドルをサポートしていません。
引数方法は,高配列を扱うsplitapplyの有効な入力でなければなりません。
splitapply
離散化されたdatetime配列によってグループ化する場合,カテゴリのグループ名はインメモリgroupfilter計算と比べ異なっています。
詳細については,高配列を参照してください。
groupsummary|groupcounts|grouptransform|findgroups|splitapply|离散化|varfun|rowfun
groupsummary
groupcounts
grouptransform
findgroups
离散化
varfun
rowfun
この例の変更されたバージョンがあります。編集された方の例を開きますか吗?
次のMATLABコマンドに対応するリンクがクリックされました。
コマンドをMATLABコマンドウィンドウに入力して実行してください。WebブラウザーはMATLABコマンドをサポートしていません。
选择一个网站,在那里获得翻译的内容,并看到当地的活动和优惠。根据您的位置,我们建议您选择:.
你也可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。
与当地办事处联系