ismember

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

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

The 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

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

Если вы задаете vars, LiA имеет значение 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