nominal

(Не Рекомендуемый) Массивы для номинальных данных

The nominal и ordinal типы данных массива не рекомендованы. Чтобы представлять упорядоченные и неупорядоченные дискретные нечисловые данные, используйте вместо этого тип данных Категориальные Массивы.

Описание

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

Можно манипулировать nominal массивы, такие как обычные числовые массивы, путем индексирования, конкатенирования и изменения формы. Использование nominal массивы как сгруппированные переменные, когда элементы указывают группу, к которой принадлежит наблюдение.

Создание

Описание

B = nominal(X) создает номинальный массив B из массива X. nominal создает уровни B из отсортированных уникальных значений в X, и создает метки по умолчанию для уровней.

пример

B = nominal(X,labels) помечает уровни в B согласно labels.

B = nominal(X,labels,levels) создает номинальный массив с возможными уровнями, заданными levels.

B = nominal(X,labels,[],edges) создает номинальный массив путем раскладывания числового массива X с границами интервала, заданными числовым вектором edges.

Входные параметры

расширить все

Входной массив для преобразования в nominal, заданный как число, логика, символ, строка или категориальный массив или массив ячеек из векторов символов. Уровни получившегося nominal массив соответствует отсортированным уникальным значениям в X.

Метки для дискретных уровней, заданные как символьный массив, строковые массивы или массив ячеек из векторов символов. По умолчанию, nominal назначает метки уровням на B в порядке отсортированных уникальных значений в X.

Можно включать повторяющиеся метки в labels чтобы объединить несколько значений в X в один уровень в B.

Типы данных: char | string | cell

Возможные номинальные уровни для выхода nominal массив, заданный как вектор, значения которого можно сравнить с значениями в X использование оператора равенства. nominal присваивает метки каждому уровню из соответствующих элементов labels. Если X содержит любые значения, отсутствующие в levels, уровни соответствующих элементов B не определены.

Границы интервала, используемые для создания номинального массива путем раскладывания числового массива, заданного как числовой вектор. Самый верхний интервал включает значения, равные самому правому ребру. nominal присваивает метки каждому уровню в полученном номинальном массиве из соответствующих элементов labels. Когда вы задаете edges входной параметр, он должен иметь на один элемент больше, чем labels.

Выходные аргументы

расширить все

Номинальный массив, возвращенный как nominal объект массива.

По умолчанию элемент B не определено, если соответствующий элемент X является NaN (когда X численный), пустой символьный вектор (когда X - символ), пустая или отсутствующая строка (когда X является строкой), или не определено (когда X категориальна). nominal рассматривает такие элементы как неопределенные или отсутствующие и не включает записи для них среди возможных уровней. Чтобы создать явный уровень для таких элементов вместо того, чтобы рассматривать их как неопределенные, используйте levels входной параметр и включать NaN, пустой символьный вектор, пустая или отсутствующая строка или неопределенный элемент.

Функции объекта

addlevels(Не Рекомендуемый) Добавить уровни в номинальные или порядковые массивы
droplevels(Не Рекомендуемый) Удалить уровни из номинального или порядкового массива
getlabels(Не Рекомендуемый) Доступ к номинальным или порядковым меткам массива
getlevels(Не Рекомендуемый) Доступ к номинальным или порядковым уровням массива
islevel(Не Рекомендуемый) Определить, находятся ли уровни в номинальном или порядковом массиве
levelcounts(Не Рекомендуемый) Счетчики элемента по уровню номинального или порядкового массива
mergelevels(Не Рекомендуемый) Объединить уровни номинальных или порядковых массивов
reorderlevels(Не Рекомендуемый) Переупорядочить уровни номинальных или порядковых массивов
setlabels(Не Рекомендуемый) Назначить метки уровням номинальных или порядковых массивов

Ниже приведен частичный список многих других MATLAB® функции массива, которые можно использовать с номинальными массивами. Полный список см. в разделе Другие функции MATLAB, поддерживающие номинальные и порядковые массивы.

doubleМассивы с двойной точностью
histogramГрафик гистограммы
isequalОпределите равенство массива
isundefinedНайдите неопределенные элементы в категориальном массиве
pieКруговая диаграмма
summaryПечать сводных данных по таблице, расписанию или категориальному массиву
timesУмножение

Примеры

свернуть все

Создайте номинальные массивы из массива ячеек из векторов символов и из целочисленных данных. Предоставьте явные метки.

Создайте номинальный массив из массива ячеек из векторов символов со значениями 'r', 'g', и 'b'. Пометьте эти уровни 'red', 'green', и 'blue', соответственно. nominal присваивает метки в соответствии с сортированным (алфавитным) порядком элементов в X.

X = {'r' 'b' 'g';'g' 'r' 'b';'b' 'r' 'g'}
X = 3x3 cell
    {'r'}    {'b'}    {'g'}
    {'g'}    {'r'}    {'b'}
    {'b'}    {'r'}    {'g'}

labels = {'blue','green','red'};
B = nominal(X,labels)
B = 3x3 nominal
     red        blue      green 
     green      red       blue  
     blue       red       green 

Создайте номинальный массив из целочисленных данных со значениями от 1 до 4, объединив нечетные и четные значения в два номинальных уровня с метками 'odd' и 'even'. Объедините значения путем дублирования меток.

X = randi([1 4],5,2)
X = 5×2

     4     1
     4     2
     1     3
     4     4
     3     4

labels = {'odd','even','odd','even'};
B = nominal(X,labels)
B = 5x2 nominal
     even      odd  
     even      even 
     odd       odd  
     even      even 
     odd       even 

Создайте номинальный массив из данных в массиве ячеек.

X = {'r','b','g';'g','r','b';'b','r','g'};
labels = {'blue','green','red'};
colors = nominal(X,labels)
colors = 3x3 nominal
     red        blue      green 
     green      red       blue  
     blue       red       green 

Идентифицируйте элементы в colors которые являются представителями уровня 'red'. Значение 1 в полученном массиве указывает, что соответствующий элемент colors является представителем 'red'.

colors == 'red'
ans = 3x3 logical array

   1   0   0
   0   1   0
   0   1   0

Идентифицируйте элементы в colors которые являются представителями любого из уровней 'red' или 'blue'.

ismember(colors,{'red','blue'})
ans = 3x3 logical array

   1   1   0
   0   1   1
   1   1   0

Объедините элементы 'red' и 'blue' уровни в новый уровень, маркированный 'purple'.

colors = mergelevels(colors,{'red','blue'},'purple')
colors = 3x3 nominal
     purple      purple      green  
     green       purple      purple 
     purple      purple      green  

Отображение уровней colors.

getlevels(colors)
ans = 1x2 nominal
     purple      green 

Результирующие количества элементов на каждом уровне. По умолчанию summary Возвраты отсчет для каждого столбца массива входа.

summary(colors)
     purple      2      3      1 
     green       1      0      2 

Создайте круговую диаграмму для данных в colors.

pie(colors)

Введенный в R2007a