観測のサブセットの選択
この例では、データセット配列から観測または観測のサブセットを選択する方法を示します。
標本データを読み込みます。
標本のデータセット配列 hospital
を読み込みます。データセット配列には観測 (行) 名を設定できます。この配列には、一意の患者識別子に対応する観測名が設定されています。
load hospital
hospital.Properties.ObsNames(1:10)
ans = 10x1 cell
{'YPL-320'}
{'GLI-532'}
{'PNI-258'}
{'MIJ-579'}
{'XLK-030'}
{'TFP-518'}
{'LPD-746'}
{'ATA-945'}
{'VNL-702'}
{'LQW-768'}
これは最初の 10 件の観測名です。
名前に基づいて観測値をインデックス処理します。
観測名を使用してデータセット配列にインデックスを付けることができます。たとえば、識別子が XLK-030
である患者の姓、性別、年齢を抽出します。
hospital('XLK-030',{'LastName','Sex','Age'})
ans = LastName Sex Age XLK-030 {'BROWN'} Female 49
観測のサブセットのインデックスを番号で指定します。
最初の 50 人の患者の情報が格納されている新しいデータセット配列を作成します。
ds50 = hospital(1:50,:); size(ds50)
ans = 1×2
50 7
論理条件を使用して観測を検索します。
男性患者の情報だけが格納されている新しいデータセット配列を作成します。男性患者を検索するには、論理条件を使用して、性別情報が格納されている変数を検索します。
dsMale = hospital(hospital.Sex=='Male',:); dsMale(1:10,{'LastName','Sex'})
ans = LastName Sex YPL-320 {'SMITH' } Male GLI-532 {'JOHNSON' } Male ATA-945 {'WILSON' } Male VNL-702 {'MOORE' } Male XUE-826 {'JACKSON' } Male TRW-072 {'WHITE' } Male KOQ-996 {'MARTIN' } Male YUZ-646 {'THOMPSON'} Male KPW-846 {'MARTINEZ'} Male XBA-581 {'ROBINSON'} Male
複数の条件を使用して観測値を検索します。
データセット配列の検索に複数の条件を使用することができます。たとえば、40 歳を超えている女性患者の情報のみが格納されている新しいデータセット配列を作成します。
dsFemale = hospital(hospital.Sex=='Female' & hospital.Age > 40,:); dsFemale(1:10,{'LastName','Sex','Age'})
ans = LastName Sex Age XLK-030 {'BROWN' } Female 49 TFP-518 {'DAVIS' } Female 46 QFY-472 {'ANDERSON'} Female 45 UJG-627 {'THOMAS' } Female 42 BKD-785 {'CLARK' } Female 48 VWL-936 {'LEWIS' } Female 41 AAX-056 {'LEE' } Female 44 AFK-336 {'WRIGHT' } Female 45 KKL-155 {'ADAMS' } Female 48 RBA-579 {'SANCHEZ' } Female 44
観測から無作為にサブセットを選択します。
新しいデータセット配列を作成し、データセット配列 hospital
から 20 人の患者を無作為に抽出したサブセットを格納します。
rng('default') % For reproducibility dsRandom = hospital(randsample(length(hospital),20),:); dsRandom.Properties.ObsNames
ans = 20x1 cell
{'DAU-529'}
{'AGR-528'}
{'RBO-332'}
{'QOO-305'}
{'RVS-253'}
{'QEQ-082'}
{'EHE-616'}
{'HVR-372'}
{'KOQ-996'}
{'REV-997'}
{'PUE-347'}
{'LQW-768'}
{'YLN-495'}
{'HJQ-495'}
{'ELG-976'}
{'XUE-826'}
{'MEZ-469'}
{'UDS-151'}
{'MIJ-579'}
{'DGC-290'}
名前に基づいて観測を削除します。
観測名が HVR-372
である患者のデータを削除します。
hospital('HVR-372',:) = [];
size(hospital)
ans = 1×2
99 7
データセット配列内の観測が 1 件少なくなりました。