nominal

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

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

Описание

Номинальные данные являются дискретными, нечисловыми значениями, которые не имеют естественного упорядоченного расположения. 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 isnan (когда X является числовым), пустой символьный вектор (когда X символ), пустая или отсутствующая строка (когда X строка), или неопределенный (когда X iscategorical. nominal обрабатывает такие элементы как неопределенные или недостающие и не включает записи для них среди возможных уровней. Чтобы создать явный уровень для таких элементов вместо того, чтобы обработать их как неопределенных, используйте levels входной параметр и включает NaN, пустой символьный вектор, пустая или отсутствующая строка или неопределенный элемент.

Свойства

развернуть все

Это свойство доступно только для чтения.

Уровень помечает в виде массива ячеек из символьных векторов. Доступ к меткам с помощью getlabels.

Типы данных: cell

Это свойство доступно только для чтения.

Пометьте для неопределенных уровней в виде '<undefined>'. Можно найти неопределенные элементы в категориальных массивах при помощи isundefined.

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

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