exponenta event banner

пересечься

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

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

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 возвращает общий набор наблюдений из двух массивов с удаленными повторениями. Наблюдения в массиве наборов данных C находятся в отсортированном порядке.

C = intersect(A,B,vars) возвращает набор общих наблюдений из двух массивов, учитывая только переменные, указанные в vars, с удалением повторов. Наблюдения в массиве наборов данных C сортируются по этим переменным.

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

C = intersect(A,B,vars,setOrder) возвращает наблюдения в C в порядке, указанном setOrder.

[C,iA,iB] = intersect(___) также возвращает векторы индекса iA и iB такой, что C = A(iA,:) и C = B(iB,:). При наличии повторных наблюдений в A или B, то intersect возвращает индекс первого вхождения. Можно использовать любой из предыдущих входных аргументов.

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

A,B

Массивы входных наборов данных.

vars

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

Определить vars как [] для использования значения по умолчанию для всех переменных.

setOrder

Флаг, указывающий порядок сортировки для наблюдений в C. Возможные значения setOrder являются:

'sorted'Наблюдения в C находятся в сортированном порядке (по умолчанию).
'stable'Наблюдения в C находятся в том же порядке, в котором они появляются A.

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

C

Массив наборов данных с общим набором наблюдений в A и B, с удалением повторов. C находится в сортированном порядке (по умолчанию) или порядке, указанном setOrder.

iA

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

iB

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

Примеры

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

Загрузить данные образца.

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    

Существует одно общее наблюдение между A и B.

Найдите наблюдения в исходных массивах наборов данных.

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