ordinal

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

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

Описание

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

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

Создание

Описание

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

пример

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

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

пример

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

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

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

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

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

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

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

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

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

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

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

Порядковый массив, возвращенный как ordinal объект массивов.

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

Свойства

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

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

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

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

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

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

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

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

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

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

Примеры

свернуть все

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

quality = ordinal([1 2 3 3 2 1 2 1 3],...
   {'low' 'medium' 'high'})
quality = 1x9 ordinal
  Columns 1 through 7

     low      medium      high      high      medium      low      medium 

  Columns 8 through 9

     low      high 

Покажите, что первый элемент меньше, второй элемент (низко меньше носителя).

quality(1) < quality(2)
ans = logical
   1

Создайте порядковый массив значениями раскладывания между 0, и 1 в трети с маркирует 'small', 'medium', и 'large'.

X = rand(5,2)
X = 5×2

    0.8147    0.0975
    0.9058    0.2785
    0.1270    0.5469
    0.9134    0.9575
    0.6324    0.9649

A = ordinal(X,{'small' 'medium' 'large'},[],[0 1/3 2/3 1])
A = 5x2 ordinal
     large       small  
     large       small  
     small       medium 
     large       large  
     medium      large  

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

quality = ordinal([1 2 3; 3 2 1; 2 1 3],{'low' 'medium' 'high'})
quality = 3x3 ordinal
     low         medium      high 
     high        medium      low  
     medium      low         high 

Идентифицируйте элементы в quality это - члены уровня, больше, чем или равный 'medium'. Значение 1 в полученном массиве указывает что соответствующий элемент quality член этого уровня.

quality >= 'medium'
ans = 3x3 logical array

   0   1   1
   1   1   0
   1   0   1

Идентифицируйте элементы в quality это - члены любого уровень 'low' или 'high'.

ismember(quality,{'low' 'high'})
ans = 3x3 logical array

   1   0   1
   1   0   1
   0   1   1

Объедините элементы 'medium' и 'high' уровни на новый уровень пометили 'ok'.

quality = mergelevels(quality,{'medium','high'},'ok')
quality = 3x3 ordinal
     low      ok       ok  
     ok       ok       low 
     ok       low      ok  

Отобразите уровни quality.

getlevels(quality)
ans = 1x2 ordinal
     low      ok 

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

summary(quality)
     low      1      1      1 
     ok       2      2      2 

Представленный в R2007a