Преобразование текста в табличных переменных к категориальному

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

Загрузка демонстрационных данных и составление таблицы

Загрузите выборочные данные, собранные от 100 пациентов.

load patients

whos
  Name                            Size            Bytes  Class      Attributes

  Age                           100x1               800  double               
  Diastolic                     100x1               800  double               
  Gender                        100x1             11412  cell                 
  Height                        100x1               800  double               
  LastName                      100x1             11616  cell                 
  Location                      100x1             14208  cell                 
  SelfAssessedHealthStatus      100x1             11540  cell                 
  Smoker                        100x1               100  logical              
  Systolic                      100x1               800  double               
  Weight                        100x1               800  double               

Сохраните данные о пациентах от Age, Genderвысота, Weight, SelfAssessedHealthStatus, и Location в таблице. Используйте уникальные идентификаторы в переменной LastName как имена строки.

T = table(Age,Gender,Height,Weight,...
    SelfAssessedHealthStatus,Location,...
    'RowNames',LastName);

Преобразование табличных переменных от Массивов ячеек из символьных векторов до Категориальных массивов

Массивы ячеек из символьных векторов, Gender и Location, содержите дискретные наборы уникальных значений.

Преобразуйте Gender и Location к категориальным массивам.

T.Gender = categorical(T.Gender);
T.Location = categorical(T.Location);

Переменная, SelfAssessedHealthStatus, содержит четыре уникальных значения: Excellent, Fair, Good, и Poor.

Преобразуйте SelfAssessedHealthStatus к порядковому категориальному массиву, такому, что категории имеют математическое упорядоченное расположение Poor < Fair < Good < Excellent.

T.SelfAssessedHealthStatus = categorical(T.SelfAssessedHealthStatus,...
    {'Poor','Fair','Good','Excellent'},'Ordinal',true);

Печать сводных данных

Просмотрите тип данных, описание, модули и другую описательную статистику для каждой переменной при помощи summary обобщать таблицу.

format compact

summary(T)
Variables:
    Age: 100x1 double
        Values:
            Min          25   
            Median       39   
            Max          50   
    Gender: 100x1 categorical
        Values:
            Female       53   
            Male         47   
    Height: 100x1 double
        Values:
            Min          60   
            Median       67   
            Max          72   
    Weight: 100x1 double
        Values:
            Min          111  
            Median     142.5  
            Max          202  
    SelfAssessedHealthStatus: 100x1 ordinal categorical
        Values:
            Poor            11   
            Fair            15   
            Good            40   
            Excellent       34   
    Location: 100x1 categorical
        Values:
            County General Hospital         39   
            St. Mary s Medical Center       24   
            VA Hospital                     37   

Табличные переменные Gender, SelfAssessedHealthStatus, и Location категориальные массивы. Сводные данные содержат количества числа элементов в каждой категории. Например, сводные данные указывают, что 53 из этих 100 пациентов являются розеткой, и 47 штекер.

Выбор Data Based on Categories

Создайте подтаблицу, T1, содержа возраст, высоту и вес всех пациенток, которые наблюдались в Главной больнице округа. Можно легко создать логический вектор на основе значений в категориальных массивах Gender и Location.

rows = T.Location=='County General Hospital' & T.Gender=='Female';

rows 100 1 логический вектор с логическим true(1 ) для строк таблицы, где пол является розеткой и местоположением, Главная больница округа.

Задайте подмножество переменных.

vars = {'Age','Height','Weight'};

Используйте круглые скобки, чтобы создать подтаблицу, T1.

T1 = T(rows,vars)
T1=19×3 table
                  Age    Height    Weight
                  ___    ______    ______
    Brown         49       64       119  
    Taylor        31       66       132  
    Anderson      45       68       128  
    Lee           44       66       146  
    Walker        28       65       123  
    Young         25       63       114  
    Campbell      37       65       135  
    Evans         39       62       121  
    Morris        43       64       135  
    Rivera        29       63       130  
    Richardson    30       67       141  
    Cox           28       66       111  
    Torres        45       70       137  
    Peterson      32       60       136  
    Ramirez       48       64       137  
    Bennett       35       64       131  
      ⋮

A 19 3 таблица.

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

Создайте подтаблицу, T2, из пола, возраста, высоты и веса всех пациентов, которые оценили их состояние здоровья как плохое или справедливое.

Во-первых, задайте подмножество строк, чтобы включать в таблицу T2.

rows = T.SelfAssessedHealthStatus<='Fair';

Затем задайте подмножество переменных, чтобы включать в таблицу T2.

vars = {'Gender','Age','Height','Weight'};

Используйте круглые скобки, чтобы создать подтаблицу T2.

T2 = T(rows,vars)
T2=26×4 table
                 Gender    Age    Height    Weight
                 ______    ___    ______    ______
    Johnson      Male      43       69       163  
    Jones        Female    40       67       133  
    Thomas       Female    42       66       137  
    Jackson      Male      25       71       174  
    Garcia       Female    27       69       131  
    Rodriguez    Female    39       64       117  
    Lewis        Female    41       62       137  
    Lee          Female    44       66       146  
    Hall         Male      25       70       189  
    Hernandez    Male      36       68       166  
    Lopez        Female    40       66       137  
    Gonzalez     Female    35       66       118  
    Mitchell     Male      39       71       164  
    Campbell     Female    37       65       135  
    Parker       Male      30       68       182  
    Stewart      Male      49       68       170  
      ⋮

T2 26 4 таблица.

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

Больше о

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