メインコンテンツ

ismember

(非推奨) 集合内のメンバーであるデータセット配列要素

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

説明

LiA = ismember(A,B) は、dataset 配列 A および B について、A と同じ長さの logical 値のベクトルを返します。出力ベクトル LiA の値は、A の対応する観測値が B にも存在する要素の場合は 1 (true) になり、それ以外の場合は 0 (false) になります。

LiA = ismember(A,B,vars) の場合、A と同じサイズの論理値のベクトルが返されます。出力ベクトル LiA の値は、vars で指定された変数のみについて、A の対応する観測値が B にも存在する要素の場合は 1 (true) になり、それ以外の場合は 0 (false) になります。

[LiA,LocB] = ismember(___) は、インデックスを含めて A と同じ長さのベクトルも返します。このベクトルに含まれる各要素は、対応する A 内の各観測値に対し、B 内にも存在する場合はその最初の観測値のインデックスになり、そうした観測値がない場合は 0 になります。前の入力引数のいずれも使用できます。

すべて折りたたむ

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

load('hospital')
B = hospital(1:50,1:5);

この設定されたデータセット配列 B には、5 個の変数について 50 の観測値があります。

クエリ データセット配列を指定します。

rng('default')
rIx = randsample(100,10);
A = hospital(rIx,1:5)
A = 
               LastName             Sex       Age    Weight    Smoker
    YLN-495    {'COLEMAN'  }        Male      39     188       false 
    LQW-768    {'TAYLOR'   }        Female    31     132       false 
    DGC-290    {'BUTLER'   }        Male      38     184       true  
    DAU-529    {'REED'     }        Male      50     186       true  
    REV-997    {'ALEXANDER'}        Male      25     171       true  
    QEQ-082    {'COX'      }        Female    28     111       false 
    AGR-528    {'SIMMONS'  }        Male      45     181       false 
    PUE-347    {'YOUNG'    }        Female    25     114       false 
    HVR-372    {'RUSSELL'  }        Male      44     188       true  
    XUE-826    {'JACKSON'  }        Male      25     174       false 

A の観測値のうち、B に存在するものを確認します。

LiA = ismember(A,B)
LiA = 10×1 logical array

   0
   1
   0
   0
   0
   0
   0
   1
   0
   1

B に存在する A の観測値を表示します。

A(LiA,:)
ans = 
               LastName           Sex       Age    Weight    Smoker
    LQW-768    {'TAYLOR' }        Female    31     132       false 
    PUE-347    {'YOUNG'  }        Female    25     114       false 
    XUE-826    {'JACKSON'}        Male      25     174       false 

B 内の観測値の位置を求めます。

[~,LocB] = ismember(A,B)
LocB = 10×1

     0
    10
     0
     0
     0
     0
     0
    28
     0
    13

A の観測値と一致する B の観測値を表示します。

B(LocB(LocB>0),:)
ans = 
               LastName           Sex       Age    Weight    Smoker
    LQW-768    {'TAYLOR' }        Female    31     132       false 
    PUE-347    {'YOUNG'  }        Female    25     114       false 
    XUE-826    {'JACKSON'}        Male      25     174       false 

入力引数

すべて折りたたむ

B で検索する観測値を含むクエリ配列。dataset 配列として指定します。

集合配列。dataset 配列として指定します。A の観測値が、すべての変数または vars で指定された変数について B にも存在する場合、LiA に対応する要素は 1 になります。

変数。変数名が格納された文字ベクトルの cell 配列または string 配列、あるいは変数の列番号が格納された整数のベクトルとして指定します。vars は、AB で観測値を照合する変数を示します。

出力引数

すべて折りたたむ

クエリ配列 A の観測値が集合配列 B のメンバーであるかどうかのインジケーター。A と同じ長さの logical 値のベクトルとして返されます。LiA の値は、A の対応する観測値が B に存在する場合は 1 (true) になります。それ以外の場合、LiA の値は 0 (false) になります。

vars を指定する場合、A において対応する観測値が vars 内の変数のみについて B にも存在する場合、LiA の値が 1 になります。

A の各観測値に対応する B の最初の観測値へのインデックス。すべての変数または vars で指定された変数のみについて、A と同じ長さのベクトルとして返されます。

データ型: logical

バージョン履歴

R2012b で導入