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