Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

データセット配列変数のデータにアクセス

この例では、データセット配列変数とそのデータを操作する方法を示します。

名前で変数にアクセスします。

変数 (列) 名とドット インデックスを使用すると、変数データにアクセスしたり、変数のサブセットを選択することができます。標本のデータセット配列を読み込みます。hospital 内の変数の名前を表示します。

load hospital 
hospital.Properties.VarNames(:)
ans = 7x1 cell
    {'LastName'     }
    {'Sex'          }
    {'Age'          }
    {'Weight'       }
    {'Smoker'       }
    {'BloodPressure'}
    {'Trials'       }

このデータセット配列には 7 つの変数 (列) と 100 件の観測 (行) があります。ワークスペース ウィンドウで hospital をダブルクリックすると、変数エディターでデータセット配列を表示できます。

ヒストグラムをプロットします。

変数 Weight のデータのヒストグラムをプロットします。

figure
histogram(hospital.Weight)

Figure contains an axes. The axes contains an object of type histogram.

このヒストグラムから、体重は二峰性分布であることがわかります。

カテゴリ別にデータをプロットします。

Sex の値 (Male と Female) 別に Weight の箱ひげ図を作成します。ここでは、変数 Sex をグループ化変数として使用します。

figure
boxplot(hospital.Weight,hospital.Sex)

Figure contains an axes. The axes contains 14 objects of type line.

この箱ひげ図から、性別が体重の二峰性に影響していることが考えられます。

変数のサブセットを選択します。

変数 LastNameSexWeight のみが格納されている新しいデータセット配列を作成します。名前または列番号で変数にアクセスすることができます。

ds1 = hospital(:,{'LastName','Sex','Weight'});
ds2 = hospital(:,[1,2,4]);

データセット配列 ds1ds2 は同じものです。データセット配列のインデックス付けに小かっこ ( ) を使用して、データ型を維持します。これにより、データセット配列のサブセットからデータセット配列が作成されます。また、変数エディターを使用して変数や観測のサブセットから新しいデータセット配列を作成することもできます。

変数のデータ型を変換します。

変数 Smoker のデータ型を、論理変数から NoYes のラベルをもつノミナル変数に変換します。

hospital.Smoker = nominal(hospital.Smoker,{'No','Yes'});
class(hospital.Smoker)
ans = 
'nominal'

データの確認

Smoker の最初の 10 個の要素を表示します。

hospital.Smoker(1:10)
ans = 10x1 nominal
     Yes 
     No 
     No 
     No 
     No 
     No 
     Yes 
     No 
     No 
     No 

ノミナル配列のレベル ラベルを変更するには、setlabels を使用します。

変数を追加します。

変数 BloodPressure は 100 行 2 列の配列です。最初の列は収縮期血圧を表し、2 番目の列は拡張期血圧を表しています。この配列を SysPressureDiaPressure の 2 つの変数に分割します。

hospital.SysPressure = hospital.BloodPressure(:,1);
hospital.DiaPressure = hospital.BloodPressure(:,2);
hospital.Properties.VarNames(:)
ans = 9x1 cell
    {'LastName'     }
    {'Sex'          }
    {'Age'          }
    {'Weight'       }
    {'Smoker'       }
    {'BloodPressure'}
    {'Trials'       }
    {'SysPressure'  }
    {'DiaPressure'  }

データセット配列 hospital に新しい 2 つの変数が追加されています。

名前で変数を検索します。

regexp を使用して、名前に 'Pressure' が含まれている変数を hospital から検索します。該当する変数だけが格納されている新しいデータセット配列を作成します。

bp = regexp(hospital.Properties.VarNames,'Pressure');
bpIdx = cellfun(@isempty,bp);
bpData = hospital(:,~bpIdx);
bpData.Properties.VarNames(:)
ans = 3x1 cell
    {'BloodPressure'}
    {'SysPressure'  }
    {'DiaPressure'  }

新しいデータセット配列 bpData には血圧を示す変数のみが格納されています。

変数を削除します。

データセット配列 hospital から変数 BloodPressure を削除します。

hospital.BloodPressure = [];
hospital.Properties.VarNames(:)
ans = 8x1 cell
    {'LastName'   }
    {'Sex'        }
    {'Age'        }
    {'Weight'     }
    {'Smoker'     }
    {'Trials'     }
    {'SysPressure'}
    {'DiaPressure'}

このデータセット配列から変数 BloodPressure がなくなりました。

参考

関連する例

詳細