table 変数内のテキストの categorical への変換
この例では、テーブル内の変数を文字ベクトルの cell 配列から categorical 配列に変換する方法を説明します。同じワークフローを string 配列である table 変数に適用します。
サンプル データの読み込みとテーブルの作成
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
から table に保存します。変数 LastName
の一意の識別子を行名として使用します。
T = table(Age,Gender,Height,Weight,... SelfAssessedHealthStatus,Location,... 'RowNames',LastName);
文字ベクトルの cell 配列から categorical 配列へのテーブル変数の変換
文字ベクトルの cell 配列 Gender
および Location
には、一意の値の離散集合が含まれます。
Gender
および Location
を categorical 配列に変換します。
T.Gender = categorical(T.Gender); T.Location = categorical(T.Location);
変数 SelfAssessedHealthStatus
には、次の 4 つの一意な値が含まれています。Excellent
、Fair
、Good
、Poor
です。
SelfAssessedHealthStatus
を順序 categorical 配列に変換し、カテゴリに数学的な順序 Poor < Fair < Good < Excellent
を付けます。
T.SelfAssessedHealthStatus = categorical(T.SelfAssessedHealthStatus,... {'Poor','Fair','Good','Excellent'},'Ordinal',true);
概要の出力
summary
を使用して、各変数のデータ型、説明、単位およびその他の記述統計を table にまとめます。
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
table 変数 Gender
、SelfAssessedHealthStatus
および Location
は、categorical 配列です。概要には各カテゴリの要素数が含まれています。たとえば、概要から、100 名の患者のうちの 53 名が女性であり、47 名が男性であることがわかります。
カテゴリに基づくデータの選択
County General Hospital で調査されたすべての女性患者の年齢、身長および体重を含むサブテーブル T1
を作成します。categorical 配列 Gender
と Location
内の値に基づいて logical ベクトルを簡単に作成することができます。
rows = T.Location=='County General Hospital' & T.Gender=='Female';
rows
は、性別が女性で場所が County General Hospital である table 行について論理値 true
(1
) をもつ 100 行 1 列の logical ベクトルです。
変数のサブセットを定義します。
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 列の table です。
順序 categorical 配列ではカテゴリに数学的な順序が付けられているため、「より大きい」や「より小さい」などの関係演算子を使用して配列を要素単位で比較することができます。
健康状態が Poor または Fair と診断されたすべての患者の性別、年齢、身長および体重のサブテーブル T2
を作成します。
最初に、table T2
に含める行のサブセットを定義します。
rows = T.SelfAssessedHealthStatus<='Fair';
次に、table 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 列の table です。