exponenta event banner

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