Можно использовать сгруппированные переменные, чтобы разделить переменные данных на группы. Обычно выбор сгруппированных переменных является первым шагом в Рабочий процесс "Разделение-Применение-Объединение". Можно разделить данные на группы, применить функцию к каждой группе и объединить результаты. Можно также обозначить отсутствующие значения в сгруппированные переменные, чтобы соответствующие значения в переменных данных были проигнорированы.
Сгруппированные переменные являются переменными, используемыми для группировки, или классификации, наблюдений - то есть значениями данных в других переменных. Сгруппированная переменная может быть любым из следующих типов данных:
Числовой, логический, категориальный, datetime, или duration вектор
Массив ячеек из символьных векторов
Таблица с табличными переменными любого типа данных в этом списке
Переменные данных являются переменными, которые содержат наблюдения. Значение сгруппированной переменной должно соответствовать каждому значению в переменных данных. Значения данных относятся к одной и той же группе, если соответствующие значения в сгруппированной переменной совпадают.
В этой таблице показаны примеры переменных данных, сгруппированных переменных и групп, которые можно создать при разделении переменных данных с помощью сгруппированных переменных.
Переменная данных | Сгруппированная переменная | Группы данных |
|---|---|---|
|
|
|
|
|
|
|
|
|
Можно задать группы значимых для данных имен, когда вы используете массивы ячеек векторов символов или категориальные массивы в качестве сгруппированных переменных. Категориальный массив является эффективным и гибким выбором сгруппированной переменной.
Как правило, в сгруппированной переменной существует столько групп, сколько уникальных значений. (Категориальный массив также может включать категории, которые не представлены в данных.) Группы и порядок групп зависят от типа данных сгруппированной переменной.
Для числового, логического, datetime, или duration векторы или массивы ячеек векторов символов, группы соответствуют уникальным значениям, отсортированным в порядке возрастания.
Для категориальных массивов группы соответствуют уникальным значениям, наблюдаемым в массиве, отсортированным в порядке, возвращенном categories функция.
The findgroups функция может принимать несколько сгруппированные переменные, например G = findgroups(A1,A2). Можно также включать несколько сгруппированные переменные в таблицу, например T = table(A1,A2); G = findgroups(T). The findgroups функция задает группы по уникальным комбинациям значений между соответствующими элементами сгруппированных переменных. findgroups определяет порядок по порядку первой сгруппированной переменной, а затем по порядку второй сгруппированной переменной и так далее. Для примера, если A1 = {'a','a','b','b'} и A2 = [0 1 0 0], тогда уникальными значениями для сгруппированных переменных являются 'a' 0, 'a' 1, и 'b' 0, определяющий три группы.
После выбора сгруппированных переменных и разделения переменных данных на группы можно применить функции к группам и объединить результаты. Этот процесс называется Рабочим процессом "Разделение-Применение-Объединение". Можно использовать findgroups и splitapply функционирует вместе для анализа групп данных в этом рабочем процессе. Эта схема показывает простой пример, используя сгруппированную переменную Gender и переменной данных Height вычислить среднюю высоту по полу.
The findgroups функция возвращает вектор чисел групп, которые задают группы на основе уникальных значений в сгруппированных переменных. splitapply использует номера групп для эффективного разделения данных на группы перед применением функции.

Сгруппированные переменные могут иметь отсутствующие значения. В этой таблице показан индикатор отсутствующего значения для каждого типа данных. Если у сгруппированной переменной отсутствующие значения, то findgroups присваивает NaN как номер группы, и splitapply игнорирует соответствующие значения в переменных данных.
Сгруппированная переменная | Индикатор отсутствующего значения |
|---|---|
Числовой |
|
Логичный | (Не может отсутствовать) |
Категоричный |
|
|
|
|
|
Массив ячеек из символьных векторов |
|
|
Строка |
|
findgroups | rowfun | splitapply | varfun