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

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

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

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

  • Числовой, логический, категориальный, 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, задавая три группы.

Рабочий процесс "Разделение-Применение-Объединение"

После того, как вы выберете группирующие переменные и разделите переменные данных в группы, можно применить функции к группам и объединить результаты. Этот рабочий процесс называется рабочим процессом "Разделение-Применение-Объединение". Можно использовать findgroups, и splitapply функционирует вместе, чтобы анализировать группы данных в этом рабочем процессе. Эта схема показывает простой пример с помощью группирующей переменной Gender и переменной данных Height, чтобы вычислить среднюю высоту по полу.

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

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

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

Тип данных группирующей переменной

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

Числовой

NaN

Логический

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

Категориальный

<undefined>

datetime

NaT

duration

NaN

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

''

Строка

<missing>

Смотрите также

| | |

Похожие темы