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

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