ismember

Класс: набор данных

(Не Рекомендуемый) элементы массива Набора данных, которые являются членами набора

dataset тип данных не рекомендуется. Чтобы работать с гетерогенными данными, используйте MATLAB® table тип данных вместо этого. Смотрите MATLAB table документация для получения дополнительной информации.

Синтаксис

LiA = ismember(A,B)
LiA = ismember(A,B,vars)
[LiA,LocB] = ismember(___)

Описание

LiA = ismember(A,B) для dataset массивы A и B возвращает вектор из логических значений та же длина как A. Выходной вектор, LiA, имеет значение 1 (TRUE) в элементах, которые соответствуют наблюдениям в A это также присутствует в B, и 0 (FALSE) в противном случае.

LiA = ismember(A,B,vars) возвращает вектор из логических значений та же длина как A. Выходной вектор, LiA, имеет значение 1 (TRUE) в элементах, которые соответствуют наблюдениям в A это также присутствует в B для переменных, заданных в vars только, и 0 (FALSE) в противном случае.

[LiA,LocB] = ismember(___) также возвращает вектор та же длина как A содержа индекс к первому наблюдению в B это соответствует каждому наблюдению в A, или 0 если нет такого наблюдения. Можно использовать любой из предыдущих входных параметров.

Входные параметры

A

Запросите массив набора данных, содержа наблюдения, которые будут найдены в B.

B

Установите массив набора данных. Когда наблюдение в A найден в B, для всех переменных или только те переменные заданы в vars, соответствующий элемент LiA 1.

vars

Массив строк или массив ячеек из символьных векторов, содержащий имена переменных или вектор из целых чисел, содержащих числа переменного столбца. vars указывает который переменные совпадать с наблюдениями относительно в A и B.

Выходные аргументы

LiA

Вектор из логических значений та же длина как ALIA имеет значение 1 (TRUE), когда соответствующее наблюдение в A присутствует в B. В противном случае, LiA имеет значение 0 ложь.

Если вы задаете varsLIA имеет значение 1 когда соответствующее наблюдение в A присутствует в B для переменных в vars только.

LocB

Векторизуйте ту же длину как A содержа индекс к первому наблюдению в B это соответствует каждому наблюдению в A, для всех переменных или только те переменные заданы в vars.

Примеры

развернуть все

Загрузка демонстрационных данных.

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

Этот массив набора данных набора, B, имеет 50 наблюдений относительно 5 переменных.

Задайте массив набора данных запроса.

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 = 10x1 logical array

   0
   1
   0
   0
   0
   0
   0
   1
   0
   1

Отобразите наблюдения в A это присутствует в B.

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

Отобразите наблюдения в B то соответствие наблюдения в A.

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