Переупорядочьте категории в категориальном массиве
B = reordercats(
переупорядочивает категории в категориальном массиве, A
)A
, быть в алфавитно-цифровом порядке.
Порядок категорий используется функциями, такими как summary
и histogram
. Если категориальный массив является порядковым, порядок категорий задает их математическое упорядоченное расположение. Первая заданная категория является самой маленькой, и последняя категория является самой большой.
Создайте два категориальных массива, X
и Y
.
X = categorical({'frog';'cat';'cat';'ant';'frog'})
X = 5x1 categorical array
frog
cat
cat
ant
frog
Y = categorical({'deer';'bear';'eagle';'deer'})
Y = 4x1 categorical array
deer
bear
eagle
deer
X
категориальный массив 5 на 1. Категории X
отсортированные уникальные значения от массива: {'ant';'cat';'frog'}
.
Y
4 1 категориальный массив. Категории Y
отсортированные уникальные значения от массива: {'bear';'deer';'eagle'}
.
Конкатенация X
и Y
в один категориальный массив, A
.
A = [X;Y]
A = 9x1 categorical array
frog
cat
cat
ant
frog
deer
bear
eagle
deer
vertcat
добавляет значения от Y
к значениям от X
.
Перечислите категории категориального массива, A
.
acats = categories(A)
acats = 6x1 cell array
{'ant' }
{'cat' }
{'frog' }
{'bear' }
{'deer' }
{'eagle'}
vertcat
добавляет категории Y
к категориям от X
. Категории A
не в алфавитном порядке.
Переупорядочьте категории A
в алфавитный порядок.
B = reordercats(A)
B = 9x1 categorical array
frog
cat
cat
ant
frog
deer
bear
eagle
deer
Выходной категориальный массив, B
, имеет те же элементы в том же порядке как входной категориальный массив, A
.
Перечислите категории категориального массива, B
.
bcats = categories(B)
bcats = 6x1 cell array
{'ant' }
{'bear' }
{'cat' }
{'deer' }
{'eagle'}
{'frog' }
Категории B
в алфавитном порядке.
Создайте категориальный массив, содержащий цвет различных элементов.
A = categorical({'red';'green';'blue';'red';'green';'red';'blue';'blue'})
A = 8x1 categorical array
red
green
blue
red
green
red
blue
blue
A
8 1 категориальный массив.
Отобразите категории A
.
categories(A)
ans = 3x1 cell array
{'blue' }
{'green'}
{'red' }
Категории A
в алфавитном порядке и не имеют никакого математического значения.
Переупорядочьте категории, чтобы совпадать с порядком, обычно используемым в цветах.
B = reordercats(A,{'red','green','blue'})
B = 8x1 categorical array
red
green
blue
red
green
red
blue
blue
B
содержит те же значения как A
.
Отобразите категории B
.
categories(B)
ans = 3x1 cell array
{'red' }
{'green'}
{'blue' }
B
не является порядковым, и порядок категорий не имеет никакого математического значения. Несмотря на то, что категории появляются в порядке спектра цветов, реляционных операций, такой как больше, чем и меньше, чем, не имеют никакого значения.
Создайте порядковый категориальный массив, A
, содержа режимы транспортировки. Закажите категории на основе средней стоимости перемещения.
A = categorical({'plane';'car'; 'train';'car';'plane';'car'},... {'car','train','plane'},'Ordinal',true)
A = 6x1 categorical array
plane
car
train
car
plane
car
A
6 1 порядковый категориальный массив.
Отобразите категории A
.
categories(A)
ans = 3x1 cell array
{'car' }
{'train'}
{'plane'}
Начиная с A
является порядковым, car < train < plane
.
Переупорядочьте категории, чтобы отразить, что уменьшение в стоимости обучает перемещение.
B = reordercats(A,{'train','car','plane'})
B = 6x1 categorical array
plane
car
train
car
plane
car
B
содержит те же значения как A
.
Отобразите категории B
.
categories(B)
ans = 3x1 cell array
{'train'}
{'car' }
{'plane'}
Математическим упорядоченным расположением категорий является теперь train < car < plane
. Результаты реляционных операций, min
, и max
отразите новое упорядоченное расположение категории.
Создайте категориальный массив, A
, содержа режимы транспортировки.
A = categorical({'plane';'car';'train';'car';'car';'plane';'car'})
A = 7x1 categorical array
plane
car
train
car
car
plane
car
Отобразите категории A
.
categories(A)
ans = 3x1 cell array
{'car' }
{'plane'}
{'train'}
Переупорядочьте категории от наименьшего до самого частого вхождения в A
.
B = countcats(A); [C,neworder] = sort(B); neworder
neworder = 3×1
3
2
1
D = reordercats(A,neworder); categories(D)
ans = 3x1 cell array
{'train'}
{'plane'}
{'car' }
Поскольку countcats
считает случаи каждой категории, neworder
описывает, как переупорядочить категории — не элементы — A
.
A
— Категориальный массивКатегориальный массив, заданный как вектор, матрица или многомерный массив. Если A
порядковый категориальный массив, переупорядочение категорий изменяет математическое значение. Следовательно, операторы отношения, такой как больше, чем и меньше, чем, могут возвратить различные результаты.
neworder
— Новый порядок категории для B
Новый порядок категории для B
, заданный как массив ячеек из символьных векторов, массив строк или числовой вектор. neworder
должно быть сочетание categories(A)
.
Преобразовывать категориальный массив, B
, к порядковому категориальному массиву используйте B = categorical(B,'Ordinal',true)
. Можно задать порядок категорий с B = категориальный (B,
, где порядок значений в valueset
, 'Порядковый', верный)
задает порядок категории.valueset
Эта функция полностью поддерживает "высокие" массивы. Для получения дополнительной информации см. Раздел "Высокие массивы".
Эта функция полностью поддерживает распределенные массивы. Для получения дополнительной информации смотрите функции MATLAB Запуска с Распределенными Массивами (Parallel Computing Toolbox).
addcats
| categories
| iscategory
| mergecats
| removecats
| renamecats
| setcats
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
Вы щелкнули по ссылке, которая соответствует команде MATLAB:
Выполните эту команду, введя её в командном окне MATLAB.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.