Main Content

数値データの分類

メモ

nominal 配列データ型および ordinal 配列データ型は推奨されません。順序付きおよび順序付けのない離散非数値データを表すには、代わりにcategorical 配列データ型を使用します。

数値データの分類

この例では、ordinal を使用して数値データを categorical 順序配列に分類する方法を示します。この方法は、連続データを離散化する場合に便利です。

標本データを読み込みます。

データセット配列 hospital にはサンプル患者に関して測定された変数が格納されます。変数 Age の最小値、中央値、最大値を計算します。

load hospital
quantile(hospital.Age,[0,.5,1])
ans = 1×3

    25    39    50

患者の年齢の範囲は、25 歳から 50 歳までです。

数値配列を順序配列に変換します。

患者を Under 3030-39Over 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 歳から始まり、2 番目のカテゴリは 30 歳から始まる、といった形式が続きます。最後のカテゴリは 40 歳以上が対象なので、40 から始まり 50 (このデータセットでの最高年齢) で終わります。3 つのカテゴリを指定する場合、4 つのエンドポイントを指定しなければなりません (最後のエンドポイントは最後のカテゴリの上限となります)。

カテゴリを調査します。

2 番目の患者の年齢と年齢カテゴリを表示します。

dataset({hospital.Age(2),'Age'},...
        {hospital.AgeCat(2),'AgeCategory'})
ans = 
    Age    AgeCategory
    43     Over 40    

数値配列をカテゴリに離散化すると、categorical 配列から実際の数値に関するすべての情報が失われます。この例では、AgeCat は数値ではなく、生データの値をここから復元することはできません。

数値配列を四分位に分類します。

変数 Weight にはサンプル患者の体重の測定値が格納されています。患者の体重を四分位ごとに 4 つのカテゴリに分類します。

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 

カテゴリを調査します。

2 番目の患者の体重と体重四分位を表示します。

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 は 2 列の行列です。最初の列は収縮期血圧で、2 番目の列は拡張期血圧です。この標本の中で、平均拡張期血圧が最も高い 87.273 のグループは、年齢が 30 ~ 39 歳の患者であり、体重が最も重い四分位 (30-39_Q4) になっています。

参考

|

関連する例

詳細