exponenta event banner

номинал

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

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 с ребрами bin, заданными числовым вектором 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 является строкой) или undefined (когда 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