Группирующие переменные можно использовать для разделения переменных данных на группы. Как правило, выбор группирующих переменных является первым шагом в рабочем процессе "Разделение-Применение-Объединение". Можно разделить данные в группы, применить функцию к каждой группе и объединить результаты. Также можно обозначить отсутствующие значения в группирующих переменных, так, чтобы были проигнорированы соответствующие значения в переменных данных.
Группирующие переменные являются переменными, используемыми, чтобы сгруппировать, или категоризировать, наблюдения — то есть, значения данных в других переменных. Группирующая переменная может быть любым из этих типов данных:
Числовой, логический, категориальный, 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] |
| [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
, задавая три группы.
После того, как вы выберете группирующие переменные и разделите переменные данных в группы, можно применить функции к группам и объединить результаты. Этот рабочий процесс называется рабочим процессом "Разделение-Применение-Объединение". Можно использовать findgroups
, и splitapply
функционирует вместе, чтобы анализировать группы данных в этом рабочем процессе. Эта схема показывает простой пример с помощью группирующей переменной Gender
и переменной данных Height
, чтобы вычислить среднюю высоту по полу.
Функция findgroups
возвращает вектор чисел группы, которые задают группы на основе уникальных значений в группирующих переменных. splitapply
использует числа группы, чтобы разделить данные в группы эффективно прежде, чем применить функцию.
Группирующие переменные могут иметь отсутствующие значения. Эта таблица показывает индикатор отсутствующего значения для каждого типа данных. Если группирующая переменная имеет отсутствующие значения, то findgroups
присваивает NaN
как номер группы, и splitapply
игнорирует соответствующие значения в переменных данных.
Тип данных группирующей переменной | Индикатор отсутствующего значения |
---|---|
Числовой |
|
Логический | (Не может отсутствовать), |
Категориальный |
|
|
|
|
|
Массив ячеек из символьных векторов |
|
Строка |
|
findgroups
| rowfun
| splitapply
| varfun