объединение

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

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

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

Синтаксис

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

Описание

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

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

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

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

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

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

A,B

Введите массивы набора данных.

vars

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

Задайте vars как [], чтобы использовать его значение по умолчанию всех переменных.

setOrder

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

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

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

C

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

iA

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

iB

Индексный вектор, указывая на наблюдения в B, которые способствуют объединению. Если существуют общие наблюдения в A и B, то union возвращает только индекс в A в iA. 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);
[length(A) length(B)]
ans =

    14     8

Первый массив набора данных, A, имеет 14 наблюдений. Второй массив набора данных, B, имеет 8 наблюдений.

Возвратите объединение.

C = union(A,B);
length(C)
ans =

    21

У объединения двух массивов набора данных есть 21 наблюдение, указывая, что было одно наблюдение, реплицированное в A и B.