Объединение категориальных массивов
Объединение категориальных массивов
Этот пример показывает, как объединять массивы категориальных переменных.
Создание категориальных массивов
Создадим массив категориальных значений, где хранятся пожеланиям по напиткам на обеденный перерыв для 25 студентов в группе A
.
Pkg.add("CategoricalArrays")
using Random, CategoricalArrays
Random.seed!(123)
A = rand(["молоко", "сок", "вода"], 25)
A = categorical(A, levels=["молоко", "сок", "вода"], ordered=true) # Передаем вектор меток чтобы задать их порядок
Сводная статистика по категориальному массиву:
Pkg.add( "FreqTables" )
using FreqTables
freqtable(A)
Создадим другой категориальный массив с пожеланиями 28 студентов из группы B
.
B = rand(["молоко", "сок", "вода"], 28) # Более сжатый синтаксис
B = categorical(B)
Сводная статистика:
freqtable(B)
Объединение категориальных массивов
Объединим данные из классов A
и B
в один категориальный массив Group1
.
Group1 = vcat(A, B)
Сводная статистика:
freqtable(Group1)
Создание категориального массива с другими категориями
Создадим категориальный массив Group2
, содержащий пожелания 50 студентов с дополнительным вариантом напитка: газировка.
Group2 = rand(["сок", "молоко", "газировка", "вода"], 50)
Group2 = categorical( Group2 )
Сводная статистика:
freqtable(Group2)
Объединение массивов с разными категориями
Объединим данные из Group1
и Group2
.
students = [Group1; Group2]
Сводная статистика. При объединении категории, уникальные для второго массива (газировка), добавляются в конец списка категорий первого массива (молоко, вода, сок, газировка).
freqtable(students)
Чтобы изменить порядок категорий в категориальном массиве, используем функцию levels!
.
levels!(students, ["сок", "молоко", "вода", "газировка"])
levels(students)
Объединение категориальных массивов
Чтобы найти уникальные значения категорий, присутствующих в Group1
и Group2
, можно использовать функцию union
.
C = union(Group1, Group2)
Заключение
Все категориальные массивы в этом примере были неупорядоченными. Для объединения упорядоченных категориальных массивов они должны иметь одинаковые наборы категорий, включая их порядок.