порядковый

Массивы для порядковых данных

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

Описание

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

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

Создание

Синтаксис

B = ordinal(X)
B = ordinal(X,labels)
B = ordinal(X,labels,levels)
B = ordinal(X,labels,[],edges)

Описание

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 является NaN (когда X является числовым), пустой символьный вектор (когда X является символом), пустая или отсутствующая строка (когда X является строкой), или неопределенный (когда X является категориальным). 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 array
  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 array
     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 array
     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 array
     low      ok       ok  
     ok       ok       low 
     ok       low      ok  

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

getlevels(quality)
ans = 1x2 ordinal array
     low      ok 

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

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

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