exponenta event banner

Группирование переменных для разделения данных

Переменные группировки можно использовать для разделения переменных данных на группы. Как правило, выбор переменных группировки является первым шагом в рабочем процессе Разделение-применение-комбинирование. Можно разделить данные на группы, применить функцию к каждой группе и объединить результаты. Также можно обозначить отсутствующие значения в переменных группировки, чтобы соответствующие значения в переменных данных игнорировались.

Группирование переменных

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

  • Числовой, логический, категориальный, datetime, или duration вектор

  • Массив ячеек символьных векторов

  • Таблица с табличными переменными любого типа данных в этом списке

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

В этой таблице приведены примеры переменных данных, переменных группировки и групп, которые можно создать при разделении переменных данных с помощью переменных группировки.

Переменная данных

Группировка переменных

Группы данных

[5 10 15 20 25 30]

[0 0 0 0 1 1]

[5 10 15 20] [25 30]

[10 20 30 40 50 60]

[1 3 3 1 2 1]

[10 40 60] [50] [20 30]

[64 72 67 69 64 68]

{'F','M','F','M','F','F'}

[64 67 64 68] [72 69]

При использовании массивов ячеек символьных векторов или категориальных массивов в качестве переменных группировки можно задать группы значимых имен данных. Категориальный массив - это эффективный и гибкий выбор переменной группировки.

Определение группы

Обычно существует столько групп, сколько уникальных значений в переменной группировки. (Категориальный массив также может включать категории, которые не представлены в данных.) Группы и порядок групп зависят от типа данных переменной группировки.

  • Для числовых, логических, 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

После выбора переменных группировки и разделения переменных данных на группы можно применить функции к группам и объединить результаты. Этот рабочий процесс называется рабочим процессом Split-Apply-Combine. Вы можете использовать findgroups и splitapply совместно используется для анализа групп данных в этом рабочем процессе. На этой диаграмме показан простой пример использования переменной группировки Gender и переменная данных Height для расчета среднего роста по полу.

findgroups функция возвращает вектор номеров групп, которые определяют группы на основе уникальных значений в переменных группировки. splitapply использует номера групп для эффективного разделения данных на группы перед применением функции.

Отсутствующие значения группы

Переменные группировки могут иметь отсутствующие значения. В этой таблице показан индикатор отсутствующего значения для каждого типа данных. Если переменная группирования имеет отсутствующие значения, то findgroups назначает NaN как номер группы, и splitapply игнорирует соответствующие значения в переменных данных.

Тип данных переменной группировки

Индикатор отсутствующего значения

Числовой

NaN

Логичный

(Не может отсутствовать)

Категоричный

<undefined>

datetime

NaT

duration

NaN

Массив ячеек символьных векторов

''

Последовательность

<missing>

См. также

| | |

Связанные темы