nominal
и ordinal
типы данных массива не рекомендуются. Чтобы представлять упорядоченный и неупорядоченные дискретные, нечисловые данные, используйте Категориальные массивы (MATLAB) тип данных вместо этого.
В этом примере показано, как отобразить на графике данные, сгруппированные уровнями категориальной переменной.
Загрузка демонстрационных данных.
load carsmall
Переменная Acceleration
содержит ускоряющие измерения на 100 демонстрационных автомобилях. Переменная Origin
символьный массив, содержащий страну происхождения для каждого автомобиля.
Создайте номинальный массив.
Преобразуйте Origin
к номинальному массиву.
Origin = nominal(Origin); getlevels(Origin)
ans = 1x6 nominal array
France Germany Italy Japan Sweden USA
В выборке существует шесть уникальных стран происхождения. По умолчанию, nominal
заказывает страны в возрастающем алфавитном порядке.
Отобразите на графике данные, сгруппированные по категориям.
Чертите диаграммы для Acceleration
, сгруппированный Origin
.
figure
boxplot(Acceleration,Origin)
title('Acceleration, Grouped by Country of Origin')
Диаграммы появляются в том же порядке как категориальные уровни (используйте reorderlevels
изменить порядок категорий).
Немного наблюдений имеют Италию как страну происхождения.
Плоские количества категории.
Сведите в таблицу количество демонстрационных автомобилей из каждой страны.
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%
Только один автомобиль сделан в Италии.
Пропустите категорию.
Удалите итальянский автомобиль из выборки.
Acceleration2 = Acceleration(Origin~='Italy'); Origin2 = Origin(Origin~='Italy'); getlevels(Origin2)
ans = 1x6 nominal array
France Germany Italy Japan Sweden USA
Даже при том, что автомобиль из Италии больше не находится в выборке, номинальной переменной, Origin2
, все еще имеет категорию Italy
. Обратите внимание на то, что это является намеренным — уровни категориального массива не обязательно совпадают со значениями.
Пропустите уровень категории.
Используйте droplevels
удалить Italy
категория.
Origin2 = droplevels(Origin2,'Italy');
tabulate(Origin2)
Value Count Percent France 4 4.04% Germany 9 9.09% Japan 15 15.15% Sweden 2 2.02% USA 69 69.70%
Italy
категория больше не находится в номинальном массиве, Origin2
.
Отобразите на графике данные, сгруппированные по категориям.
Чертите диаграммы Acceleration2
, сгруппированный Origin2
.
figure
boxplot(Acceleration2,Origin2)
title('Acceleration, Grouped by Country of Origin')
График больше не включает автомобиль из Италии.
boxplot
| droplevels
| nominal
| reorderlevels