grp2idx

Создайте вектор индекса из сгруппированной переменной

Описание

[g,gN] = grp2idx(s) создает вектор индекса g от сгруппированной переменной s. Выход g вектор целочисленных значений от 1 до номера K отличных групп. gN массив ячеек из символьных векторов, представляющий список названий группы.

пример

[g,gN,gL] = grp2idx(s) также возвращает вектор-столбец gL представление списка уровней группы с совпадающим типом данных как s.

Примеры

свернуть все

Создайте категориальный вектор при помощи discretize и преобразуйте его в вектор индекса при помощи grp2idx.

Загрузите hospital набор данных и преобразует возрасты в hospital.Ages к категориальным значениям, представляющим возрасты к десятилетию.

load hospital
edges = 0:10:100; % Bin edges
labels = strcat(num2str((0:10:90)','%d'),{'s'}); % Labels for the bins
s = discretize(hospital.Age,edges,'Categorical',labels);

Отобразите возрасты и группы возрастов для первых пяти выборок.

ages = hospital.Age(1:5)
ages = 5×1

    38
    43
    38
    40
    49

groups = s(1:5)
groups = 5x1 categorical
     30s 
     40s 
     30s 
     40s 
     40s 

Создайте вектор индекса из категориального векторного s.

[g,gN,gL] = grp2idx(s);

Отобразите значения индекса, соответствующие первым пяти выборкам.

g(1:5)
ans = 5×1

     4
     5
     4
     5
     5

Воспроизведите входной параметр s использование выхода gL.

gL(g(1:5))
ans = 5x1 categorical
     30s 
     40s 
     30s 
     40s 
     40s 

Используйте gN(g) воспроизвести входной параметр s как массив ячеек из символьных векторов.

gN(g(1:5))
ans = 5x1 cell
    {'30s'}
    {'40s'}
    {'30s'}
    {'40s'}
    {'40s'}

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

свернуть все

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

grp2idx обработки NaNs (числовой, длительность, или логический), '' (пустые символьные массивы или массивы ячеек из символьных векторов), "" (пустые строки), <missing> значения (строка), <undefined> (категориальные) значения, и NaTs (datetime) в s как отсутствующие значения и возвращает NaNs в соответствующих строках g. Выходные параметры gN и gL не включайте записи для отсутствующих значений.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char | string | cell | categorical | datetime | duration

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

свернуть все

Индекс группы, возвращенный как положительный целочисленный вектор со значениями от 1 до номера K отличных групп в s.

Список названий группы, возвращенных как массив ячеек из символьных векторов.

Порядок gN зависит от типа данных сгруппированной переменной s.

  • Для числовых и логических векторов порядок является отсортированным порядком s.

  • Для категориальных векторов порядок является порядком categories(s).

  • Для других типов данных порядок является порядком первого выступления в s.

gN(g) воспроизводит содержимое s в массиве ячеек.

Список уровней группы, возвращенных как совпадающий тип данных как s: категориальное, числовое, логическое, datetime, или вектор длительности, массив ячеек из символьных векторов или символьный массив с каждой строкой, представляющей метку группы. (Программное обеспечение обрабатывает строковые массивы как массивы ячеек из символьных векторов.)

Набор групп и их порядка в gL совпадают с теми в gN, но gL имеет совпадающий тип данных как s.

Если s символьная матрица, затем gL(g,:) воспроизводит s; в противном случае, gL(g) воспроизводит s.

Расширенные возможности

Представлено до R2006a