В этом примере показано, как преобразовать переменную в таблице из массива ячеек с векторами символов в категориальный массив. Тот же процесс применяется и к табличным переменным, которые строковые массивы.
Загрузка выборочных данных собранной от 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
, Height
, 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 - мужчинами.
Создайте подтаблицу, 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.