Группирующие переменные можно использовать для разделения переменных данных на группы. Как правило, выбор сгруппированных переменных является первым шагом в рабочем процессе "Разделение-Применение-Объединение". Можно разделить данные в группы, применить функцию к каждой группе и объединить результаты. Также можно обозначить отсутствующие значения в сгруппированных переменных, так, чтобы были проигнорированы соответствующие значения в переменных данных.
Сгруппированные переменные являются переменными, используемыми, чтобы сгруппировать, или категоризировать, наблюдения — то есть, значения данных в других переменных. Сгруппированная переменная может быть любым из этих типов данных:
Числовой, логический, категориальный, 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