Категоризация числовых данных

Примечание

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

Категоризация числовых данных

В этом примере показано, как классифицировать числовые данные в категориальный порядковый массив с помощью ordinal. Это полезно для дискретизации непрерывных данных.

Загрузите выборочные данные.

Массив набора данных, hospital, содержит переменные, измеренные на выборке пациентов. Вычислите минимум, медиану и максимум переменной Age.

load hospital
quantile(hospital.Age,[0,.5,1])
ans = 1×3

    25    39    50

Возраст пациента колеблется от 25 до 50 лет.

Преобразуйте числовой массив в порядковый.

Группируйте пациентов в возрастные категории Under 30, 30-39, Over 40.

hospital.AgeCat = ordinal(hospital.Age,{'Under 30','30-39','Over 40'},...
                       [],[25,30,40,50]);
getlevels(hospital.AgeCat)
ans = 1x3 ordinal
     Under 30      30-39      Over 40 

Последний входной параметр для ordinal имеет конечные точки для категорий. Первая категория начинается с 25 лет, вторая - с 30 лет и так далее. Последняя категория содержит возраст 40 лет и выше, поэтому начинается с 40 лет и заканчивается с 50 лет (максимальный возраст в наборе данных). Чтобы задать три категории, необходимо задать четыре конечные точки (последняя конечная точка является верхней границей последней категории).

Исследуйте категории.

Отображение возрастной и возрастной категории для второго пациента.

dataset({hospital.Age(2),'Age'},...
        {hospital.AgeCat(2),'AgeCategory'})
ans = 
    Age    AgeCategory
    43     Over 40    

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

Классифицируйте числовой массив в квартили.

Переменная Weight имеет измерения веса для пациентов с образцом. Разделите веса пациентов на четыре категории по квартилям.

p = 0:.25:1;
breaks = quantile(hospital.Weight,p);
hospital.WeightQ = ordinal(hospital.Weight,{'Q1','Q2','Q3','Q4'},...
                   [],breaks);
getlevels(hospital.WeightQ)
ans = 1x4 ordinal
     Q1      Q2      Q3      Q4 

Исследуйте категории.

Отобразите вес и вес квартиля для второго пациента.

dataset({hospital.Weight(2),'Weight'},...
        {hospital.WeightQ(2),'WeightQuartile'})
ans = 
    Weight    WeightQuartile
    163       Q3            

Итоговая статистика, сгруппированная по уровням категорий.

Вычислите среднее сестолическое и диастолическое артериальное давление для каждой возрастной и весовой категории.

grpstats(hospital,{'AgeCat','WeightQ'},'mean','DataVars','BloodPressure')
ans = 
                   AgeCat      WeightQ    GroupCount    mean_BloodPressure
    Under 30_Q1    Under 30    Q1          6            123.17      79.667
    Under 30_Q2    Under 30    Q2          3            120.33      79.667
    Under 30_Q3    Under 30    Q3          2             127.5        86.5
    Under 30_Q4    Under 30    Q4          4               122          78
    30-39_Q1       30-39       Q1         12            121.75       81.75
    30-39_Q2       30-39       Q2          9            119.56      82.556
    30-39_Q3       30-39       Q3          9               121      83.222
    30-39_Q4       30-39       Q4         11            125.55      87.273
    Over 40_Q1     Over 40     Q1          7            122.14      84.714
    Over 40_Q2     Over 40     Q2         13            123.38      79.385
    Over 40_Q3     Over 40     Q3         14            123.07      84.643
    Over 40_Q4     Over 40     Q4         10             124.6        85.1

Переменная BloodPressure - матрица с двумя столбцами. Первый столбец является сестрическим артериальным давлением, а второй столбец - диастолическим артериальным давлением. Группа в выборке с самым высоким средним диастолическим артериальным давлением, 87.273, в возрасте 30-39 лет и в самом высоком весе квартиле, 30-39_Q4.

См. также

|

Похожие примеры

Подробнее о

Для просмотра документации необходимо авторизоваться на сайте