nominal
и ordinal
типы данных массива не рекомендуются. Чтобы представлять упорядоченный и неупорядоченные дискретные, нечисловые данные, используйте Категориальные массивы (MATLAB) тип данных вместо этого.
В этом примере показано, как объединить категории в номинальном или порядковом массиве с помощью mergelevels
. Это полезно для сворачивания категорий с немногими наблюдениями.
Загрузка демонстрационных данных.
load carsmall
Создайте номинальный массив.
Переменная Origin
символьный массив, содержащий страну происхождения для 100 демонстрационных автомобилей. Преобразуйте Origin
к номинальному массиву.
Origin = nominal(Origin); getlevels(Origin)
ans = 1x6 nominal array
France Germany Italy Japan Sweden USA
В данных существует шесть уникальных стран происхождения.
Плоские количества категории.
Исследуйте элементы номинального массива.
tabulate(Origin)
Value Count Percent France 4 4.00% Germany 9 9.00% Italy 1 1.00% Japan 15 15.00% Sweden 2 2.00% USA 69 69.00%
В каждой европейской стране существует относительно немного наблюдений.
Объедините категории.
Объедините категории France
, Germany
, Italy
, и Sweden
в одну категорию под названием Europe
.
Origin = mergelevels(Origin,{'France','Germany','Italy','Sweden'},... 'Europe'); getlevels(Origin)
ans = 1x3 nominal array
Europe Japan USA
Переменная Origin
теперь имеет только три уровня категории.
Плоские количества категории.
Исследуйте элементы объединенных категорий.
tabulate(Origin)
Value Count Percent Europe 16 16.00% Japan 15 15.00% USA 69 69.00%
Категория Europe
имеет 16% наблюдений, которые были ранее распределены на четырех странах.