exponenta event banner

Классифицировать числовые данные

Примечание

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.

См. также

|

Связанные примеры

Подробнее