Main Content

intersect

クラス: dataset

(非推奨) データセット配列の観測の共通集合

dataset データ型は推奨されません。異種混合データを処理するには、代わりに MATLAB® table データ型を使用します。詳細は、MATLAB table ドキュメンテーションを参照してください。

構文

C = intersect(A,B)
C = intersect(A,B,vars)
C = intersect(A,B,vars,setOrder)
[C,iA,iB] = intersect(___)

説明

C = intersect(A,B) は、dataset 配列 A および B について、これら 2 つの配列から重複を除いた観測値の共通集合を返します。データセット配列 C の観測値は並べ替えられた順番になります。

C = intersect(A,B,vars) は、vars で指定された変数のみを考慮して、2 つの配列から重複を除いた観測の共通集合を返します。データセット配列 C の観測は、これらの変数によって並べ替えられています。

C の各観測の vars で指定されていない変数の値は、A の対応する観測から取得します。AC の観測に対応する観測が複数ある場合、その最初の観測で取得された値が使用されます。

C = intersect(A,B,vars,setOrder) は、C の観測値を setOrder で指定された順序で返します。

[C,iA,iB] = intersect(___) は、C = A(iA,:) および C = B(iB,:) となるインデックス ベクトル iA および iB も返します。A または B で重複した観測値があると、intersect はその最初の出現位置のインデックスを返します。前の入力引数のいずれも使用できます。

入力引数

A,B

入力データセット配列。

vars

変数名が含まれている文字ベクトルの cell 配列または string 配列、または変数の列番号が含まれている整数のベクトル。vars は、intersect で考慮する A および B 内の変数を指定します。

すべての変数の既定値を使用するには、vars[] として指定します。

setOrder

C の観測値の並べ替え順序を指定するフラグ。setOrder で使用できる値は以下のとおりです。

'sorted'C の観測値は並べ替えられた順番になります (既定の設定)。
'stable'C の観測値は A 内の出現順と同じ順序に配置されます。

出力引数

C

AB から重復を除いた観測の共通集合となるデータセット配列。C は並べ替えられた順になるか (既定の設定)、setOrder で指定された順序に並べ替えられます。

iA

B と共通となる A の観測を特定するインデックス ベクトル。A に重復観測値があると、ベクトル iA には、その最初の出現値に対するインデックスが格納されます。

iB

A と共通となる B の観測を特定するインデックス ベクトル。B に重復観測値があると、ベクトル iB には、その最初の出現値に対するインデックスが格納されます。

すべて展開する

標本データを読み込みます。

A = dataset('XLSFile',fullfile(matlabroot,'help/toolbox/stats/examples','hospitalSmall.xlsx'));
B = dataset('XLSFile',fullfile(matlabroot,'help/toolbox/stats/examples','hospitalSmall.xlsx'),'Sheet',2);

交差部分とインデックス ベクトルを返します。

[C,iA,iB] = intersect(A,B);
C = 

    id               name           sex        age    wgt    smoke
    'TRW-072'        'WHITE'        'm'        39     202    1    

AB に共通する観測値が 1 つあります。

元のデータセット配列にある観測値を求めます。

A(iA,:)
ans = 

    id               name           sex        age    wgt    smoke
    'TRW-072'        'WHITE'        'm'        39     202    1    

B(iB,:)
ans = 

    id               name           sex        age    wgt    smoke
    'TRW-072'        'WHITE'        'm'        39     202    1