exponenta event banner

порядковый

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

nominal и ordinal типы данных массива не рекомендуются. Для представления упорядоченных и неупорядоченных дискретных нечисловых данных используйте тип данных Категориальные массивы.

Описание

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

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

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